@appthen/vibe-workspace 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DocxPreview-CAmipQT3.js → DocxPreview-D2izjHfQ.js} +5 -5
- package/dist/{DocxPreview-CAmipQT3.js.map → DocxPreview-D2izjHfQ.js.map} +1 -1
- package/dist/{DotBadge-CeeLzNu3.js → DotBadge-BTtlqPqv.js} +2 -2
- package/dist/{DotBadge-CeeLzNu3.js.map → DotBadge-BTtlqPqv.js.map} +1 -1
- package/dist/{FreeCanvas-DritKIPq.js → FreeCanvas-D0qGlWl-.js} +2 -2
- package/dist/{FreeCanvas-DritKIPq.js.map → FreeCanvas-D0qGlWl-.js.map} +1 -1
- package/dist/{ImagePreview-ByIQrPzb.js → ImagePreview-CVw1IKRl.js} +4 -4
- package/dist/{ImagePreview-ByIQrPzb.js.map → ImagePreview-CVw1IKRl.js.map} +1 -1
- package/dist/{PdfPreview-0vwF3tLn.js → PdfPreview-BRDBxezL.js} +4 -4
- package/dist/{PdfPreview-0vwF3tLn.js.map → PdfPreview-BRDBxezL.js.map} +1 -1
- package/dist/{PluginContext-uAiGNF8S.js → PluginContext-DCtbrkoX.js} +2 -2
- package/dist/{PluginContext-uAiGNF8S.js.map → PluginContext-DCtbrkoX.js.map} +1 -1
- package/dist/{Workbench-8uTfTtsq.js → Workbench-Bz0iJPL8.js} +12 -12
- package/dist/{Workbench-8uTfTtsq.js.map → Workbench-Bz0iJPL8.js.map} +1 -1
- package/dist/{activate-DVnxnmfA.js → activate-B_lpUEhD.js} +3 -3
- package/dist/{activate-DVnxnmfA.js.map → activate-B_lpUEhD.js.map} +1 -1
- package/dist/canvas-core/index.js +1 -1
- package/dist/coding-kit/index.js +1 -1
- package/dist/components/index.js +4 -4
- package/dist/{dialog-ssICQNSV.js → dialog-RPHf7Mz2.js} +2 -2
- package/dist/{dialog-ssICQNSV.js.map → dialog-RPHf7Mz2.js.map} +1 -1
- package/dist/{docx-preview-lJ7EdPsl.js → docx-preview-CH7hwx62.js} +2 -2
- package/dist/{docx-preview-lJ7EdPsl.js.map → docx-preview-CH7hwx62.js.map} +1 -1
- package/dist/extension-dev-workbench/index.js +4 -4
- package/dist/{extensionRegistry-D35Ld-Wa.js → extensionRegistry-B6X2GQLX.js} +2 -2
- package/dist/{extensionRegistry-D35Ld-Wa.js.map → extensionRegistry-B6X2GQLX.js.map} +1 -1
- package/dist/index.js +13 -13
- package/dist/{list-detail-workspace-template-BTrgMGPx.js → list-detail-workspace-template-DsiEfhxo.js} +2 -2
- package/dist/{list-detail-workspace-template-BTrgMGPx.js.map → list-detail-workspace-template-DsiEfhxo.js.map} +1 -1
- package/dist/overlay/index.js +2 -2
- package/dist/{pluginCapabilities-BkCT7QDO.js → pluginCapabilities-BKLR6W4M.js} +2 -2
- package/dist/{pluginCapabilities-BkCT7QDO.js.map → pluginCapabilities-BKLR6W4M.js.map} +1 -1
- package/dist/plugins/agent/PluginModule.js +2 -2
- package/dist/plugins/base/index.js +1 -1
- package/dist/{sheet-Bsq3CLW4.js → sheet-tD__qqBd.js} +10 -10
- package/dist/{sheet-Bsq3CLW4.js.map → sheet-tD__qqBd.js.map} +1 -1
- package/dist/{skeleton-BSqTbX9l.js → skeleton-6VSIwQtG.js} +2 -2
- package/dist/{skeleton-BSqTbX9l.js.map → skeleton-6VSIwQtG.js.map} +1 -1
- package/dist/ui/index.js +3 -3
- package/dist/{useBinaryFileUrl-D11yvGuG.js → useBinaryFileUrl-_FJREA5b.js} +3 -3
- package/dist/{useBinaryFileUrl-D11yvGuG.js.map → useBinaryFileUrl-_FJREA5b.js.map} +1 -1
- package/dist/vibe-workspace.css +1 -1
- package/dist/workbench/index.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docx-preview-lJ7EdPsl.js","sources":["../../node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js","../../node_modules/.pnpm/docx-preview@0.4.0/node_modules/docx-preview/dist/docx-preview.mjs"],"sourcesContent":["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo(\"string\",i(n));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on(\"error\",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){\"use strict\";var u=e(\"../compressions\"),n=e(\"./ZipFileWorker\");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo(\"file\",{name:e,dir:i,date:s,comment:t.comment||\"\",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){\"use strict\";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){\"use strict\";var u=e(\"./utils\"),i=e(\"./external\"),n=e(\"./utf8\"),s=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on(\"error\",function(e){t(e)}).on(\"end\",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error(\"Corrupted zip : CRC32 mismatch\")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):u.prepareContent(\"the loaded zip file\",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",function(e){t.push({data:e,meta:{percent:0}})}).on(\"error\",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on(\"end\",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){\"use strict\";var i=e(\"readable-stream\").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on(\"data\",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on(\"error\",function(e){n.emit(\"error\",e)}).on(\"end\",function(){n.push(null)})}e(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){\"use strict\";t.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){\"use strict\";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a=\"string\"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t=\"\",s.compression=\"STORE\",i=\"string\");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e(\"./utf8\"),u=e(\"./utils\"),l=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),f=e(\"./defaults\"),c=e(\"./compressedObject\"),d=e(\"./zipObject\"),o=e(\"./generate\"),p=e(\"./nodejsUtils\"),m=e(\"./nodejs/NodejsStreamInputAdapter\"),_=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},g=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||(\"/\"!==r.slice(-1)&&(r+=\"/\"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=o.generateWorker(this,r,n)}catch(e){(t=new l(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){\"use strict\";t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){\"use strict\";var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.end()}),e.on(\"error\",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return Buffer.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case\"blob\":case\"arraybuffer\":n=\"uint8array\";break;case\"base64\":n=\"string\"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s(\"error\"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,s){\"use strict\";for(var o=e(\"./utils\"),h=e(\"./support\"),r=e(\"./nodejsUtils\"),n=e(\"./stream/GenericWorker\"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){n.call(this,\"utf-8 encode\")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),a.newBlob=function(t,r){a.checkSupport(\"blob\");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if(\"uint8array\"===r?n=i.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||\"\",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},a.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&r.isBuffer(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(n)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?(\"arraybuffer\"===t?e=a.transformTo(\"uint8array\",e):\"string\"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),a=e(\"./zipEntry\"),o=e(\"./support\");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),s=e(\"./utils\"),i=e(\"./compressedObject\"),a=e(\"./crc32\"),o=e(\"./utf8\"),h=e(\"./compressions\"),u=e(\"./support\");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){\"use strict\";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e(\"./stream/StreamHelper\"),i=e(\"./stream/DataWorker\"),a=e(\"./utf8\"),o=e(\"./compressedObject\"),h=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h(\"error\")).error(e)}return new s(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,l,t){(function(t){\"use strict\";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){\"use strict\";var i=e(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],n=[\"PENDING\"];function o(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});\"error\"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if(\"error\"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){\"use strict\";var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){\"use strict\";var a=e(\"./zlib/deflate\"),o=e(\"./utils/common\"),h=e(\"./utils/strings\"),i=e(\"./zlib/messages\"),s=e(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n=\"string\"==typeof t.dictionary?h.string2buf(t.dictionary):\"[object ArrayBuffer]\"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,\"string\"==typeof e?i.input=h.string2buf(e):\"[object ArrayBuffer]\"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){\"use strict\";var c=e(\"./zlib/inflate\"),d=e(\"./utils/common\"),p=e(\"./utils/strings\"),m=e(\"./zlib/constants\"),n=e(\"./zlib/messages\"),i=e(\"./zlib/zstream\"),s=e(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof e?h.input=p.binstring2buf(e):\"[object ArrayBuffer]\"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){\"use strict\";var h=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){\"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}},{}],45:[function(e,t,r){\"use strict\";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){\"use strict\";t.exports=function(){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}},{}],48:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){\"use strict\";var I=e(\"../utils/common\"),O=e(\"./adler32\"),B=e(\"./crc32\"),R=e(\"./inffast\"),T=e(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){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 I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){\"use strict\";var D=e(\"../utils/common\"),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],N=[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],U=[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],P=[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(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(e,t,r){\"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\"}},{}],52:[function(e,t,r){\"use strict\";var i=e(\"../utils/common\"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){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}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&\"string\"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)});","/*\n * @license\n * docx-preview <https://github.com/VolodymyrBaydalka/docxjs>\n * Released under Apache License 2.0 <https://github.com/VolodymyrBaydalka/docxjs/blob/master/LICENSE>\n * Copyright Volodymyr Baydalka\n */\nimport JSZip from 'jszip';\n\nvar RelationshipTypes;\n(function (RelationshipTypes) {\n RelationshipTypes[\"OfficeDocument\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\";\n RelationshipTypes[\"FontTable\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\";\n RelationshipTypes[\"Image\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\n RelationshipTypes[\"Numbering\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\";\n RelationshipTypes[\"Styles\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n RelationshipTypes[\"StylesWithEffects\"] = \"http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects\";\n RelationshipTypes[\"Theme\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n RelationshipTypes[\"Settings\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\";\n RelationshipTypes[\"WebSettings\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings\";\n RelationshipTypes[\"Hyperlink\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\";\n RelationshipTypes[\"Footnotes\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes\";\n RelationshipTypes[\"Endnotes\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes\";\n RelationshipTypes[\"Footer\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\";\n RelationshipTypes[\"Header\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\";\n RelationshipTypes[\"ExtendedProperties\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\";\n RelationshipTypes[\"CoreProperties\"] = \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\";\n RelationshipTypes[\"CustomProperties\"] = \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties\";\n RelationshipTypes[\"Comments\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n RelationshipTypes[\"CommentsExtended\"] = \"http://schemas.microsoft.com/office/2011/relationships/commentsExtended\";\n RelationshipTypes[\"AltChunk\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk\";\n})(RelationshipTypes || (RelationshipTypes = {}));\nfunction parseRelationships(root, xml) {\n return xml.elements(root).map(e => ({\n id: xml.attr(e, \"Id\"),\n type: xml.attr(e, \"Type\"),\n target: xml.attr(e, \"Target\"),\n targetMode: xml.attr(e, \"TargetMode\")\n }));\n}\n\nfunction escapeClassName(className) {\n return className?.replace(/[ .]+/g, '-').replace(/[&]+/g, 'and').toLowerCase();\n}\nfunction encloseFontFamily(fontFamily) {\n return /^[^\"'].*\\s.*[^\"']$/.test(fontFamily) ? `'${fontFamily}'` : fontFamily;\n}\nfunction splitPath(path) {\n let si = path.lastIndexOf('/') + 1;\n let folder = si == 0 ? \"\" : path.substring(0, si);\n let fileName = si == 0 ? path : path.substring(si);\n return [folder, fileName];\n}\nfunction resolvePath(path, base) {\n try {\n const prefix = \"http://docx/\";\n const url = new URL(path, prefix + base).toString();\n return url.substring(prefix.length);\n }\n catch {\n return `${base}${path}`;\n }\n}\nfunction keyBy(array, by) {\n return array.reduce((a, x) => {\n a[by(x)] = x;\n return a;\n }, {});\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.onerror = () => reject();\n reader.readAsDataURL(blob);\n });\n}\nfunction isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\nfunction isString(item) {\n return typeof item === 'string' || item instanceof String;\n}\nfunction mergeDeep(target, ...sources) {\n if (!sources.length)\n return target;\n const source = sources.shift();\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n const val = target[key] ?? (target[key] = {});\n mergeDeep(val, source[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n }\n return mergeDeep(target, ...sources);\n}\nfunction asArray(val) {\n return Array.isArray(val) ? val : [val];\n}\nfunction clamp(val, min, max) {\n return min > val ? min : (max < val ? max : val);\n}\n\nconst ns$1 = {\n wordml: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"};\nconst LengthUsage = {\n Dxa: { mul: 0.05, unit: \"pt\" },\n Emu: { mul: 1 / 12700, unit: \"pt\" },\n FontSize: { mul: 0.5, unit: \"pt\" },\n Border: { mul: 0.125, unit: \"pt\", min: 0.25, max: 12 },\n Point: { mul: 1, unit: \"pt\" },\n Percent: { mul: 0.02, unit: \"%\" }};\nfunction convertLength(val, usage = LengthUsage.Dxa) {\n if (val == null || /.+(p[xt]|[%])$/.test(val)) {\n return val;\n }\n var num = parseInt(val) * usage.mul;\n if (usage.min && usage.max)\n num = clamp(num, usage.min, usage.max);\n return `${num.toFixed(2)}${usage.unit}`;\n}\nfunction convertBoolean(v, defaultValue = false) {\n switch (v) {\n case \"1\": return true;\n case \"0\": return false;\n case \"on\": return true;\n case \"off\": return false;\n case \"true\": return true;\n case \"false\": return false;\n default: return defaultValue;\n }\n}\nfunction parseCommonProperty(elem, props, xml) {\n if (elem.namespaceURI != ns$1.wordml)\n return false;\n switch (elem.localName) {\n case \"color\":\n props.color = xml.attr(elem, \"val\");\n break;\n case \"sz\":\n props.fontSize = xml.lengthAttr(elem, \"val\", LengthUsage.FontSize);\n break;\n default:\n return false;\n }\n return true;\n}\n\nfunction parseXmlString(xmlString, trimXmlDeclaration = false) {\n if (trimXmlDeclaration)\n xmlString = xmlString.replace(/<[?].*[?]>/, \"\");\n xmlString = removeUTF8BOM(xmlString);\n const result = new DOMParser().parseFromString(xmlString, \"application/xml\");\n const errorText = hasXmlParserError(result);\n if (errorText)\n throw new Error(errorText);\n return result;\n}\nfunction hasXmlParserError(doc) {\n return doc.getElementsByTagName(\"parsererror\")[0]?.textContent;\n}\nfunction removeUTF8BOM(data) {\n return data.charCodeAt(0) === 0xFEFF ? data.substring(1) : data;\n}\nfunction serializeXmlString(elem) {\n return new XMLSerializer().serializeToString(elem);\n}\nclass XmlParser {\n elements(elem, localName = null) {\n const result = [];\n for (let i = 0, l = elem.childNodes.length; i < l; i++) {\n let c = elem.childNodes.item(i);\n if (c.nodeType == Node.ELEMENT_NODE && (localName == null || c.localName == localName))\n result.push(c);\n }\n return result;\n }\n element(elem, localName) {\n for (let i = 0, l = elem.childNodes.length; i < l; i++) {\n let c = elem.childNodes.item(i);\n if (c.nodeType == 1 && c.localName == localName)\n return c;\n }\n return null;\n }\n elementAttr(elem, localName, attrLocalName) {\n var el = this.element(elem, localName);\n return el ? this.attr(el, attrLocalName) : undefined;\n }\n attrs(elem) {\n return Array.from(elem.attributes);\n }\n attr(elem, localName) {\n for (let i = 0, l = elem.attributes.length; i < l; i++) {\n let a = elem.attributes.item(i);\n if (a.localName == localName)\n return a.value;\n }\n return null;\n }\n intAttr(node, attrName, defaultValue = null) {\n var val = this.attr(node, attrName);\n return val ? parseInt(val) : defaultValue;\n }\n hexAttr(node, attrName, defaultValue = null) {\n var val = this.attr(node, attrName);\n return val ? parseInt(val, 16) : defaultValue;\n }\n floatAttr(node, attrName, defaultValue = null) {\n var val = this.attr(node, attrName);\n return val ? parseFloat(val) : defaultValue;\n }\n boolAttr(node, attrName, defaultValue = null) {\n return convertBoolean(this.attr(node, attrName), defaultValue);\n }\n lengthAttr(node, attrName, usage = LengthUsage.Dxa) {\n return convertLength(this.attr(node, attrName), usage);\n }\n}\nconst globalXmlParser = new XmlParser();\n\nclass Part {\n constructor(_package, path) {\n this._package = _package;\n this.path = path;\n }\n async load() {\n this.rels = await this._package.loadRelationships(this.path);\n const xmlText = await this._package.load(this.path);\n const xmlDoc = this._package.parseXmlDocument(xmlText);\n if (this._package.options.keepOrigin) {\n this._xmlDocument = xmlDoc;\n }\n this.parseXml(xmlDoc.firstElementChild);\n }\n save() {\n this._package.update(this.path, serializeXmlString(this._xmlDocument));\n }\n parseXml(root) {\n }\n}\n\nconst embedFontTypeMap = {\n embedRegular: 'regular',\n embedBold: 'bold',\n embedItalic: 'italic',\n embedBoldItalic: 'boldItalic',\n};\nfunction parseFonts(root, xml) {\n return xml.elements(root).map(el => parseFont(el, xml));\n}\nfunction parseFont(elem, xml) {\n let result = {\n name: xml.attr(elem, \"name\"),\n embedFontRefs: []\n };\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"family\":\n result.family = xml.attr(el, \"val\");\n break;\n case \"altName\":\n result.altName = xml.attr(el, \"val\");\n break;\n case \"embedRegular\":\n case \"embedBold\":\n case \"embedItalic\":\n case \"embedBoldItalic\":\n result.embedFontRefs.push(parseEmbedFontRef(el, xml));\n break;\n }\n }\n return result;\n}\nfunction parseEmbedFontRef(elem, xml) {\n return {\n id: xml.attr(elem, \"id\"),\n key: xml.attr(elem, \"fontKey\"),\n type: embedFontTypeMap[elem.localName]\n };\n}\n\nclass FontTablePart extends Part {\n parseXml(root) {\n this.fonts = parseFonts(root, this._package.xmlParser);\n }\n}\n\nfunction parseContentTypes(root, xml) {\n return xml.elements(root).map(e => ({\n extension: xml.attr(e, \"Extension\"),\n partName: xml.attr(e, \"PartName\"),\n contentType: xml.attr(e, \"ContentType\")\n }));\n}\n\nclass OpenXmlPackage {\n constructor(_zip, options) {\n this._zip = _zip;\n this.options = options;\n this.xmlParser = new XmlParser();\n }\n get(path) {\n const p = normalizePath(path);\n return this._zip.files[p] ?? this._zip.files[p.replace(/\\//g, '\\\\')];\n }\n update(path, content) {\n this._zip.file(path, content);\n }\n static async load(input, options) {\n const zip = await JSZip.loadAsync(input);\n return new OpenXmlPackage(zip, options);\n }\n save(type = \"blob\") {\n return this._zip.generateAsync({ type });\n }\n load(path, type = \"string\") {\n return this.get(path)?.async(type) ?? Promise.resolve(null);\n }\n async loadRelationships(path = null) {\n let relsPath = `_rels/.rels`;\n if (path != null) {\n const [f, fn] = splitPath(path);\n relsPath = `${f}_rels/${fn}.rels`;\n }\n const txt = await this.load(relsPath);\n return txt ? parseRelationships(this.parseXmlDocument(txt).firstElementChild, this.xmlParser) : null;\n }\n async loadContentTypes() {\n const txt = await this.load(\"[Content_Types].xml\");\n return txt ? parseContentTypes(this.parseXmlDocument(txt).firstElementChild, this.xmlParser) : [];\n }\n parseXmlDocument(txt) {\n return parseXmlString(txt, this.options.trimXmlDeclaration);\n }\n}\nfunction normalizePath(path) {\n return path.startsWith('/') ? path.substr(1) : path;\n}\n\nclass DocumentPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.body = this._documentParser.parseDocumentFile(root);\n }\n}\n\nfunction parseBorder(elem, xml) {\n return {\n type: xml.attr(elem, \"val\"),\n color: xml.attr(elem, \"color\"),\n size: xml.lengthAttr(elem, \"sz\", LengthUsage.Border),\n offset: xml.lengthAttr(elem, \"space\", LengthUsage.Point),\n frame: xml.boolAttr(elem, 'frame'),\n shadow: xml.boolAttr(elem, 'shadow')\n };\n}\nfunction parseBorders(elem, xml) {\n var result = {};\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"left\":\n result.left = parseBorder(e, xml);\n break;\n case \"top\":\n result.top = parseBorder(e, xml);\n break;\n case \"right\":\n result.right = parseBorder(e, xml);\n break;\n case \"bottom\":\n result.bottom = parseBorder(e, xml);\n break;\n }\n }\n return result;\n}\n\nvar SectionType;\n(function (SectionType) {\n SectionType[\"Continuous\"] = \"continuous\";\n SectionType[\"NextPage\"] = \"nextPage\";\n SectionType[\"NextColumn\"] = \"nextColumn\";\n SectionType[\"EvenPage\"] = \"evenPage\";\n SectionType[\"OddPage\"] = \"oddPage\";\n})(SectionType || (SectionType = {}));\nfunction parseSectionProperties(elem, xml = globalXmlParser) {\n var section = {};\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"pgSz\":\n section.pageSize = {\n width: xml.lengthAttr(e, \"w\"),\n height: xml.lengthAttr(e, \"h\"),\n orientation: xml.attr(e, \"orient\")\n };\n break;\n case \"type\":\n section.type = xml.attr(e, \"val\");\n break;\n case \"pgMar\":\n section.pageMargins = {\n left: xml.lengthAttr(e, \"left\"),\n right: xml.lengthAttr(e, \"right\"),\n top: xml.lengthAttr(e, \"top\"),\n bottom: xml.lengthAttr(e, \"bottom\"),\n header: xml.lengthAttr(e, \"header\"),\n footer: xml.lengthAttr(e, \"footer\"),\n gutter: xml.lengthAttr(e, \"gutter\"),\n };\n break;\n case \"cols\":\n section.columns = parseColumns(e, xml);\n break;\n case \"headerReference\":\n (section.headerRefs ?? (section.headerRefs = [])).push(parseFooterHeaderReference(e, xml));\n break;\n case \"footerReference\":\n (section.footerRefs ?? (section.footerRefs = [])).push(parseFooterHeaderReference(e, xml));\n break;\n case \"titlePg\":\n section.titlePage = xml.boolAttr(e, \"val\", true);\n break;\n case \"pgBorders\":\n section.pageBorders = parseBorders(e, xml);\n break;\n case \"pgNumType\":\n section.pageNumber = parsePageNumber(e, xml);\n break;\n }\n }\n return section;\n}\nfunction parseColumns(elem, xml) {\n return {\n numberOfColumns: xml.intAttr(elem, \"num\"),\n space: xml.lengthAttr(elem, \"space\"),\n separator: xml.boolAttr(elem, \"sep\"),\n equalWidth: xml.boolAttr(elem, \"equalWidth\", true),\n columns: xml.elements(elem, \"col\")\n .map(e => ({\n width: xml.lengthAttr(e, \"w\"),\n space: xml.lengthAttr(e, \"space\")\n }))\n };\n}\nfunction parsePageNumber(elem, xml) {\n return {\n chapSep: xml.attr(elem, \"chapSep\"),\n chapStyle: xml.attr(elem, \"chapStyle\"),\n format: xml.attr(elem, \"fmt\"),\n start: xml.intAttr(elem, \"start\")\n };\n}\nfunction parseFooterHeaderReference(elem, xml) {\n return {\n id: xml.attr(elem, \"id\"),\n type: xml.attr(elem, \"type\"),\n };\n}\n\nfunction parseLineSpacing(elem, xml) {\n return {\n before: xml.lengthAttr(elem, \"before\"),\n after: xml.lengthAttr(elem, \"after\"),\n line: xml.intAttr(elem, \"line\"),\n lineRule: xml.attr(elem, \"lineRule\")\n };\n}\n\nfunction parseRunProperties(elem, xml) {\n let result = {};\n for (let el of xml.elements(elem)) {\n parseRunProperty(el, result, xml);\n }\n return result;\n}\nfunction parseRunProperty(elem, props, xml) {\n if (parseCommonProperty(elem, props, xml))\n return true;\n return false;\n}\n\nfunction parseParagraphProperties(elem, xml) {\n let result = {};\n for (let el of xml.elements(elem)) {\n parseParagraphProperty(el, result, xml);\n }\n return result;\n}\nfunction parseParagraphProperty(elem, props, xml) {\n if (elem.namespaceURI != ns$1.wordml)\n return false;\n if (parseCommonProperty(elem, props, xml))\n return true;\n switch (elem.localName) {\n case \"tabs\":\n props.tabs = parseTabs(elem, xml);\n break;\n case \"sectPr\":\n props.sectionProps = parseSectionProperties(elem, xml);\n break;\n case \"numPr\":\n props.numbering = parseNumbering$1(elem, xml);\n break;\n case \"spacing\":\n props.lineSpacing = parseLineSpacing(elem, xml);\n return false;\n case \"textAlignment\":\n props.textAlignment = xml.attr(elem, \"val\");\n return false;\n case \"keepLines\":\n props.keepLines = xml.boolAttr(elem, \"val\", true);\n break;\n case \"keepNext\":\n props.keepNext = xml.boolAttr(elem, \"val\", true);\n break;\n case \"pageBreakBefore\":\n props.pageBreakBefore = xml.boolAttr(elem, \"val\", true);\n break;\n case \"outlineLvl\":\n props.outlineLevel = xml.intAttr(elem, \"val\");\n break;\n case \"pStyle\":\n props.styleName = xml.attr(elem, \"val\");\n break;\n case \"rPr\":\n props.runProps = parseRunProperties(elem, xml);\n break;\n default:\n return false;\n }\n return true;\n}\nfunction parseTabs(elem, xml) {\n return xml.elements(elem, \"tab\")\n .map(e => ({\n position: xml.lengthAttr(e, \"pos\"),\n leader: xml.attr(e, \"leader\"),\n style: xml.attr(e, \"val\")\n }));\n}\nfunction parseNumbering$1(elem, xml) {\n var result = {};\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"numId\":\n result.id = xml.attr(e, \"val\");\n break;\n case \"ilvl\":\n result.level = xml.intAttr(e, \"val\");\n break;\n }\n }\n return result;\n}\n\nfunction parseNumberingPart(elem, xml) {\n let result = {\n numberings: [],\n abstractNumberings: [],\n bulletPictures: []\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"num\":\n result.numberings.push(parseNumbering(e, xml));\n break;\n case \"abstractNum\":\n result.abstractNumberings.push(parseAbstractNumbering(e, xml));\n break;\n case \"numPicBullet\":\n result.bulletPictures.push(parseNumberingBulletPicture(e, xml));\n break;\n }\n }\n return result;\n}\nfunction parseNumbering(elem, xml) {\n let result = {\n id: xml.attr(elem, 'numId'),\n overrides: []\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"abstractNumId\":\n result.abstractId = xml.attr(e, \"val\");\n break;\n case \"lvlOverride\":\n result.overrides.push(parseNumberingLevelOverrride(e, xml));\n break;\n }\n }\n return result;\n}\nfunction parseAbstractNumbering(elem, xml) {\n let result = {\n id: xml.attr(elem, 'abstractNumId'),\n levels: []\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"name\":\n result.name = xml.attr(e, \"val\");\n break;\n case \"multiLevelType\":\n result.multiLevelType = xml.attr(e, \"val\");\n break;\n case \"numStyleLink\":\n result.numberingStyleLink = xml.attr(e, \"val\");\n break;\n case \"styleLink\":\n result.styleLink = xml.attr(e, \"val\");\n break;\n case \"lvl\":\n result.levels.push(parseNumberingLevel(e, xml));\n break;\n }\n }\n return result;\n}\nfunction parseNumberingLevel(elem, xml) {\n let result = {\n level: xml.intAttr(elem, 'ilvl')\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"start\":\n result.start = xml.attr(e, \"val\");\n break;\n case \"lvlRestart\":\n result.restart = xml.intAttr(e, \"val\");\n break;\n case \"numFmt\":\n result.format = xml.attr(e, \"val\");\n break;\n case \"lvlText\":\n result.text = xml.attr(e, \"val\");\n break;\n case \"lvlJc\":\n result.justification = xml.attr(e, \"val\");\n break;\n case \"lvlPicBulletId\":\n result.bulletPictureId = xml.attr(e, \"val\");\n break;\n case \"pStyle\":\n result.paragraphStyle = xml.attr(e, \"val\");\n break;\n case \"pPr\":\n result.paragraphProps = parseParagraphProperties(e, xml);\n break;\n case \"rPr\":\n result.runProps = parseRunProperties(e, xml);\n break;\n }\n }\n return result;\n}\nfunction parseNumberingLevelOverrride(elem, xml) {\n let result = {\n level: xml.intAttr(elem, 'ilvl')\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"startOverride\":\n result.start = xml.intAttr(e, \"val\");\n break;\n case \"lvl\":\n result.numberingLevel = parseNumberingLevel(e, xml);\n break;\n }\n }\n return result;\n}\nfunction parseNumberingBulletPicture(elem, xml) {\n var pict = xml.element(elem, \"pict\");\n var shape = pict && xml.element(pict, \"shape\");\n var imagedata = shape && xml.element(shape, \"imagedata\");\n return imagedata ? {\n id: xml.attr(elem, \"numPicBulletId\"),\n referenceId: xml.attr(imagedata, \"id\"),\n style: xml.attr(shape, \"style\")\n } : null;\n}\n\nclass NumberingPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n Object.assign(this, parseNumberingPart(root, this._package.xmlParser));\n this.domNumberings = this._documentParser.parseNumberingFile(root);\n }\n}\n\nclass StylesPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.styles = this._documentParser.parseStylesFile(root);\n }\n}\n\nvar DomType;\n(function (DomType) {\n DomType[\"Document\"] = \"document\";\n DomType[\"Paragraph\"] = \"paragraph\";\n DomType[\"Run\"] = \"run\";\n DomType[\"Break\"] = \"break\";\n DomType[\"NoBreakHyphen\"] = \"noBreakHyphen\";\n DomType[\"Table\"] = \"table\";\n DomType[\"Row\"] = \"row\";\n DomType[\"Cell\"] = \"cell\";\n DomType[\"Hyperlink\"] = \"hyperlink\";\n DomType[\"SmartTag\"] = \"smartTag\";\n DomType[\"Drawing\"] = \"drawing\";\n DomType[\"Image\"] = \"image\";\n DomType[\"Text\"] = \"text\";\n DomType[\"Tab\"] = \"tab\";\n DomType[\"Symbol\"] = \"symbol\";\n DomType[\"BookmarkStart\"] = \"bookmarkStart\";\n DomType[\"BookmarkEnd\"] = \"bookmarkEnd\";\n DomType[\"Footer\"] = \"footer\";\n DomType[\"Header\"] = \"header\";\n DomType[\"FootnoteReference\"] = \"footnoteReference\";\n DomType[\"EndnoteReference\"] = \"endnoteReference\";\n DomType[\"Footnote\"] = \"footnote\";\n DomType[\"Endnote\"] = \"endnote\";\n DomType[\"SimpleField\"] = \"simpleField\";\n DomType[\"ComplexField\"] = \"complexField\";\n DomType[\"Instruction\"] = \"instruction\";\n DomType[\"VmlPicture\"] = \"vmlPicture\";\n DomType[\"MmlMath\"] = \"mmlMath\";\n DomType[\"MmlMathParagraph\"] = \"mmlMathParagraph\";\n DomType[\"MmlFraction\"] = \"mmlFraction\";\n DomType[\"MmlFunction\"] = \"mmlFunction\";\n DomType[\"MmlFunctionName\"] = \"mmlFunctionName\";\n DomType[\"MmlNumerator\"] = \"mmlNumerator\";\n DomType[\"MmlDenominator\"] = \"mmlDenominator\";\n DomType[\"MmlRadical\"] = \"mmlRadical\";\n DomType[\"MmlBase\"] = \"mmlBase\";\n DomType[\"MmlDegree\"] = \"mmlDegree\";\n DomType[\"MmlSuperscript\"] = \"mmlSuperscript\";\n DomType[\"MmlSubscript\"] = \"mmlSubscript\";\n DomType[\"MmlPreSubSuper\"] = \"mmlPreSubSuper\";\n DomType[\"MmlSubArgument\"] = \"mmlSubArgument\";\n DomType[\"MmlSuperArgument\"] = \"mmlSuperArgument\";\n DomType[\"MmlNary\"] = \"mmlNary\";\n DomType[\"MmlDelimiter\"] = \"mmlDelimiter\";\n DomType[\"MmlRun\"] = \"mmlRun\";\n DomType[\"MmlEquationArray\"] = \"mmlEquationArray\";\n DomType[\"MmlLimit\"] = \"mmlLimit\";\n DomType[\"MmlLimitLower\"] = \"mmlLimitLower\";\n DomType[\"MmlMatrix\"] = \"mmlMatrix\";\n DomType[\"MmlMatrixRow\"] = \"mmlMatrixRow\";\n DomType[\"MmlBox\"] = \"mmlBox\";\n DomType[\"MmlBar\"] = \"mmlBar\";\n DomType[\"MmlGroupChar\"] = \"mmlGroupChar\";\n DomType[\"VmlElement\"] = \"vmlElement\";\n DomType[\"Inserted\"] = \"inserted\";\n DomType[\"Deleted\"] = \"deleted\";\n DomType[\"DeletedText\"] = \"deletedText\";\n DomType[\"Comment\"] = \"comment\";\n DomType[\"CommentReference\"] = \"commentReference\";\n DomType[\"CommentRangeStart\"] = \"commentRangeStart\";\n DomType[\"CommentRangeEnd\"] = \"commentRangeEnd\";\n DomType[\"AltChunk\"] = \"altChunk\";\n})(DomType || (DomType = {}));\nclass OpenXmlElementBase {\n constructor() {\n this.children = [];\n this.cssStyle = {};\n }\n}\n\nclass WmlHeader extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.Header;\n }\n}\nclass WmlFooter extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.Footer;\n }\n}\n\nclass BaseHeaderFooterPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.rootElement = this.createRootElement();\n this.rootElement.children = this._documentParser.parseBodyElements(root);\n }\n}\nclass HeaderPart extends BaseHeaderFooterPart {\n createRootElement() {\n return new WmlHeader();\n }\n}\nclass FooterPart extends BaseHeaderFooterPart {\n createRootElement() {\n return new WmlFooter();\n }\n}\n\nfunction parseExtendedProps(root, xmlParser) {\n const result = {};\n for (let el of xmlParser.elements(root)) {\n switch (el.localName) {\n case \"Template\":\n result.template = el.textContent;\n break;\n case \"Pages\":\n result.pages = safeParseToInt(el.textContent);\n break;\n case \"Words\":\n result.words = safeParseToInt(el.textContent);\n break;\n case \"Characters\":\n result.characters = safeParseToInt(el.textContent);\n break;\n case \"Application\":\n result.application = el.textContent;\n break;\n case \"Lines\":\n result.lines = safeParseToInt(el.textContent);\n break;\n case \"Paragraphs\":\n result.paragraphs = safeParseToInt(el.textContent);\n break;\n case \"Company\":\n result.company = el.textContent;\n break;\n case \"AppVersion\":\n result.appVersion = el.textContent;\n break;\n }\n }\n return result;\n}\nfunction safeParseToInt(value) {\n if (typeof value === 'undefined')\n return;\n return parseInt(value);\n}\n\nclass ExtendedPropsPart extends Part {\n parseXml(root) {\n this.props = parseExtendedProps(root, this._package.xmlParser);\n }\n}\n\nfunction parseCoreProps(root, xmlParser) {\n const result = {};\n for (let el of xmlParser.elements(root)) {\n switch (el.localName) {\n case \"title\":\n result.title = el.textContent;\n break;\n case \"description\":\n result.description = el.textContent;\n break;\n case \"subject\":\n result.subject = el.textContent;\n break;\n case \"creator\":\n result.creator = el.textContent;\n break;\n case \"keywords\":\n result.keywords = el.textContent;\n break;\n case \"language\":\n result.language = el.textContent;\n break;\n case \"lastModifiedBy\":\n result.lastModifiedBy = el.textContent;\n break;\n case \"revision\":\n el.textContent && (result.revision = parseInt(el.textContent));\n break;\n }\n }\n return result;\n}\n\nclass CorePropsPart extends Part {\n parseXml(root) {\n this.props = parseCoreProps(root, this._package.xmlParser);\n }\n}\n\nclass DmlTheme {\n}\nfunction parseTheme(elem, xml) {\n var result = new DmlTheme();\n var themeElements = xml.element(elem, \"themeElements\");\n for (let el of xml.elements(themeElements)) {\n switch (el.localName) {\n case \"clrScheme\":\n result.colorScheme = parseColorScheme(el, xml);\n break;\n case \"fontScheme\":\n result.fontScheme = parseFontScheme(el, xml);\n break;\n }\n }\n return result;\n}\nfunction parseColorScheme(elem, xml) {\n var result = {\n name: xml.attr(elem, \"name\"),\n colors: {}\n };\n for (let el of xml.elements(elem)) {\n var srgbClr = xml.element(el, \"srgbClr\");\n var sysClr = xml.element(el, \"sysClr\");\n if (srgbClr) {\n result.colors[el.localName] = xml.attr(srgbClr, \"val\");\n }\n else if (sysClr) {\n result.colors[el.localName] = xml.attr(sysClr, \"lastClr\");\n }\n }\n return result;\n}\nfunction parseFontScheme(elem, xml) {\n var result = {\n name: xml.attr(elem, \"name\"),\n };\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"majorFont\":\n result.majorFont = parseFontInfo(el, xml);\n break;\n case \"minorFont\":\n result.minorFont = parseFontInfo(el, xml);\n break;\n }\n }\n return result;\n}\nfunction parseFontInfo(elem, xml) {\n return {\n latinTypeface: xml.elementAttr(elem, \"latin\", \"typeface\"),\n eaTypeface: xml.elementAttr(elem, \"ea\", \"typeface\"),\n csTypeface: xml.elementAttr(elem, \"cs\", \"typeface\"),\n };\n}\n\nclass ThemePart extends Part {\n constructor(pkg, path) {\n super(pkg, path);\n }\n parseXml(root) {\n this.theme = parseTheme(root, this._package.xmlParser);\n }\n}\n\nclass WmlBaseNote {\n}\nclass WmlFootnote extends WmlBaseNote {\n constructor() {\n super(...arguments);\n this.type = DomType.Footnote;\n }\n}\nclass WmlEndnote extends WmlBaseNote {\n constructor() {\n super(...arguments);\n this.type = DomType.Endnote;\n }\n}\n\nclass BaseNotePart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n}\nclass FootnotesPart extends BaseNotePart {\n constructor(pkg, path, parser) {\n super(pkg, path, parser);\n }\n parseXml(root) {\n this.notes = this._documentParser.parseNotes(root, \"footnote\", WmlFootnote);\n }\n}\nclass EndnotesPart extends BaseNotePart {\n constructor(pkg, path, parser) {\n super(pkg, path, parser);\n }\n parseXml(root) {\n this.notes = this._documentParser.parseNotes(root, \"endnote\", WmlEndnote);\n }\n}\n\nfunction parseSettings(elem, xml) {\n var result = {};\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"defaultTabStop\":\n result.defaultTabStop = xml.lengthAttr(el, \"val\");\n break;\n case \"footnotePr\":\n result.footnoteProps = parseNoteProperties(el, xml);\n break;\n case \"endnotePr\":\n result.endnoteProps = parseNoteProperties(el, xml);\n break;\n case \"autoHyphenation\":\n result.autoHyphenation = xml.boolAttr(el, \"val\");\n break;\n }\n }\n return result;\n}\nfunction parseNoteProperties(elem, xml) {\n var result = {\n defaultNoteIds: []\n };\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"numFmt\":\n result.nummeringFormat = xml.attr(el, \"val\");\n break;\n case \"footnote\":\n case \"endnote\":\n result.defaultNoteIds.push(xml.attr(el, \"id\"));\n break;\n }\n }\n return result;\n}\n\nclass SettingsPart extends Part {\n constructor(pkg, path) {\n super(pkg, path);\n }\n parseXml(root) {\n this.settings = parseSettings(root, this._package.xmlParser);\n }\n}\n\nfunction parseCustomProps(root, xml) {\n return xml.elements(root, \"property\").map(e => {\n const firstChild = e.firstChild;\n return {\n formatId: xml.attr(e, \"fmtid\"),\n name: xml.attr(e, \"name\"),\n type: firstChild.nodeName,\n value: firstChild.textContent\n };\n });\n}\n\nclass CustomPropsPart extends Part {\n parseXml(root) {\n this.props = parseCustomProps(root, this._package.xmlParser);\n }\n}\n\nclass CommentsPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.comments = this._documentParser.parseComments(root);\n this.commentMap = keyBy(this.comments, x => x.id);\n }\n}\n\nclass CommentsExtendedPart extends Part {\n constructor(pkg, path) {\n super(pkg, path);\n this.comments = [];\n }\n parseXml(root) {\n const xml = this._package.xmlParser;\n for (let el of xml.elements(root, \"commentEx\")) {\n this.comments.push({\n paraId: xml.attr(el, 'paraId'),\n paraIdParent: xml.attr(el, 'paraIdParent'),\n done: xml.boolAttr(el, 'done')\n });\n }\n this.commentMap = keyBy(this.comments, x => x.paraId);\n }\n}\n\nconst topLevelRels = [\n { type: RelationshipTypes.OfficeDocument, target: \"word/document.xml\" },\n { type: RelationshipTypes.ExtendedProperties, target: \"docProps/app.xml\" },\n { type: RelationshipTypes.CoreProperties, target: \"docProps/core.xml\" },\n { type: RelationshipTypes.CustomProperties, target: \"docProps/custom.xml\" },\n];\nclass WordDocument {\n constructor() {\n this.parts = [];\n this.partsMap = {};\n this.contentTypes = [];\n }\n static async load(blob, parser, options) {\n var d = new WordDocument();\n d._options = options;\n d._parser = parser;\n d._package = await OpenXmlPackage.load(blob, options);\n d.rels = await d._package.loadRelationships();\n d.contentTypes = await d._package.loadContentTypes();\n await Promise.all(topLevelRels.map(rel => {\n const r = d.rels.find(x => x.type === rel.type) ?? rel;\n return d.loadRelationshipPart(r.target, r.type);\n }));\n return d;\n }\n save(type = \"blob\") {\n return this._package.save(type);\n }\n async loadRelationshipPart(path, type) {\n if (this.partsMap[path])\n return this.partsMap[path];\n if (!this._package.get(path))\n return null;\n let part = null;\n switch (type) {\n case RelationshipTypes.OfficeDocument:\n this.documentPart = part = new DocumentPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.FontTable:\n this.fontTablePart = part = new FontTablePart(this._package, path);\n break;\n case RelationshipTypes.Numbering:\n this.numberingPart = part = new NumberingPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Styles:\n this.stylesPart = part = new StylesPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Theme:\n this.themePart = part = new ThemePart(this._package, path);\n break;\n case RelationshipTypes.Footnotes:\n this.footnotesPart = part = new FootnotesPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Endnotes:\n this.endnotesPart = part = new EndnotesPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Footer:\n part = new FooterPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Header:\n part = new HeaderPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.CoreProperties:\n this.corePropsPart = part = new CorePropsPart(this._package, path);\n break;\n case RelationshipTypes.ExtendedProperties:\n this.extendedPropsPart = part = new ExtendedPropsPart(this._package, path);\n break;\n case RelationshipTypes.CustomProperties:\n part = new CustomPropsPart(this._package, path);\n break;\n case RelationshipTypes.Settings:\n this.settingsPart = part = new SettingsPart(this._package, path);\n break;\n case RelationshipTypes.Comments:\n this.commentsPart = part = new CommentsPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.CommentsExtended:\n this.commentsExtendedPart = part = new CommentsExtendedPart(this._package, path);\n break;\n }\n if (part == null)\n return Promise.resolve(null);\n this.partsMap[path] = part;\n this.parts.push(part);\n await part.load();\n if (part.rels?.length > 0) {\n const [folder] = splitPath(part.path);\n await Promise.all(part.rels.map(rel => this.loadRelationshipPart(resolvePath(rel.target, folder), rel.type)));\n }\n return part;\n }\n async loadDocumentImage(id, part) {\n const path = this.getPathById(part ?? this.documentPart, id);\n return path ? this.blobToURL(await this._package.load(path, \"blob\"), path) : null;\n }\n async loadNumberingImage(id) {\n const path = this.getPathById(this.numberingPart, id);\n return path ? this.blobToURL(await this._package.load(path, \"blob\"), path) : null;\n }\n async loadFont(id, key) {\n const path = this.getPathById(this.fontTablePart, id);\n if (!path)\n return null;\n const x = await this._package.load(path, \"uint8array\");\n return x ? this.blobToURL(new Blob([deobfuscate(x, key)]), path) : x;\n }\n async loadAltChunk(id, part) {\n const path = this.getPathById(part ?? this.documentPart, id);\n return path ? this._package.load(path, \"string\") : Promise.resolve(null);\n }\n blobToURL(blob, path) {\n if (!blob)\n return null;\n if (path) {\n const ct = this.contentTypes.find(x => x.partName === path || (x.extension && path.endsWith(`.${x.extension}`)));\n blob = ct ? new Blob([blob], { type: ct.contentType }) : blob;\n }\n if (this._options.useBase64URL) {\n return blobToBase64(blob);\n }\n return URL.createObjectURL(blob);\n }\n findPartByRelId(id, basePart = null) {\n var rel = (basePart.rels ?? this.rels).find(r => r.id == id);\n const folder = basePart ? splitPath(basePart.path)[0] : '';\n return rel ? this.partsMap[resolvePath(rel.target, folder)] : null;\n }\n getPathById(part, id) {\n const rel = part.rels.find(x => x.id == id);\n const [folder] = splitPath(part.path);\n return rel ? resolvePath(rel.target, folder) : null;\n }\n}\nfunction deobfuscate(data, guidKey) {\n const len = 16;\n const trimmed = guidKey.replace(/{|}|-/g, \"\");\n const numbers = new Array(len);\n for (let i = 0; i < len; i++)\n numbers[len - i - 1] = parseInt(trimmed.substring(i * 2, i * 2 + 2), 16);\n for (let i = 0; i < 32; i++)\n data[i] = data[i] ^ numbers[i % len];\n return data;\n}\n\nfunction parseBookmarkStart(elem, xml) {\n return {\n type: DomType.BookmarkStart,\n id: xml.attr(elem, \"id\"),\n name: xml.attr(elem, \"name\"),\n colFirst: xml.intAttr(elem, \"colFirst\"),\n colLast: xml.intAttr(elem, \"colLast\")\n };\n}\nfunction parseBookmarkEnd(elem, xml) {\n return {\n type: DomType.BookmarkEnd,\n id: xml.attr(elem, \"id\")\n };\n}\n\nclass VmlElement extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.VmlElement;\n this.attrs = {};\n }\n}\nfunction parseVmlElement(elem, parser) {\n var result = new VmlElement();\n switch (elem.localName) {\n case \"rect\":\n result.tagName = \"rect\";\n Object.assign(result.attrs, { width: '100%', height: '100%' });\n break;\n case \"oval\":\n result.tagName = \"ellipse\";\n Object.assign(result.attrs, { cx: \"50%\", cy: \"50%\", rx: \"50%\", ry: \"50%\" });\n break;\n case \"line\":\n result.tagName = \"line\";\n break;\n case \"shape\":\n result.tagName = \"g\";\n break;\n case \"textbox\":\n result.tagName = \"foreignObject\";\n Object.assign(result.attrs, { width: '100%', height: '100%' });\n break;\n default:\n return null;\n }\n for (const at of globalXmlParser.attrs(elem)) {\n switch (at.localName) {\n case \"style\":\n result.cssStyleText = at.value;\n break;\n case \"fillcolor\":\n result.attrs.fill = at.value;\n break;\n case \"from\":\n const [x1, y1] = parsePoint(at.value);\n Object.assign(result.attrs, { x1, y1 });\n break;\n case \"to\":\n const [x2, y2] = parsePoint(at.value);\n Object.assign(result.attrs, { x2, y2 });\n break;\n }\n }\n for (const el of globalXmlParser.elements(elem)) {\n switch (el.localName) {\n case \"stroke\":\n Object.assign(result.attrs, parseStroke(el));\n break;\n case \"fill\":\n Object.assign(result.attrs, parseFill());\n break;\n case \"imagedata\":\n result.tagName = \"image\";\n Object.assign(result.attrs, { width: '100%', height: '100%' });\n result.imageHref = {\n id: globalXmlParser.attr(el, \"id\"),\n title: globalXmlParser.attr(el, \"title\"),\n };\n break;\n case \"txbxContent\":\n result.children.push(...parser.parseBodyElements(el));\n break;\n default:\n const child = parseVmlElement(el, parser);\n child && result.children.push(child);\n break;\n }\n }\n return result;\n}\nfunction parseStroke(el) {\n return {\n 'stroke': globalXmlParser.attr(el, \"color\"),\n 'stroke-width': globalXmlParser.lengthAttr(el, \"weight\", LengthUsage.Emu) ?? '1px'\n };\n}\nfunction parseFill(el) {\n return {};\n}\nfunction parsePoint(val) {\n return val.split(\",\");\n}\n\nclass WmlComment extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.Comment;\n }\n}\nclass WmlCommentReference extends OpenXmlElementBase {\n constructor(id) {\n super();\n this.id = id;\n this.type = DomType.CommentReference;\n }\n}\nclass WmlCommentRangeStart extends OpenXmlElementBase {\n constructor(id) {\n super();\n this.id = id;\n this.type = DomType.CommentRangeStart;\n }\n}\nclass WmlCommentRangeEnd extends OpenXmlElementBase {\n constructor(id) {\n super();\n this.id = id;\n this.type = DomType.CommentRangeEnd;\n }\n}\n\nvar autos = {\n shd: \"inherit\",\n color: \"black\",\n borderColor: \"black\",\n highlight: \"transparent\"\n};\nconst supportedNamespaceURIs = [];\nconst mmlTagMap = {\n \"oMath\": DomType.MmlMath,\n \"oMathPara\": DomType.MmlMathParagraph,\n \"f\": DomType.MmlFraction,\n \"func\": DomType.MmlFunction,\n \"fName\": DomType.MmlFunctionName,\n \"num\": DomType.MmlNumerator,\n \"den\": DomType.MmlDenominator,\n \"rad\": DomType.MmlRadical,\n \"deg\": DomType.MmlDegree,\n \"e\": DomType.MmlBase,\n \"sSup\": DomType.MmlSuperscript,\n \"sSub\": DomType.MmlSubscript,\n \"sPre\": DomType.MmlPreSubSuper,\n \"sup\": DomType.MmlSuperArgument,\n \"sub\": DomType.MmlSubArgument,\n \"d\": DomType.MmlDelimiter,\n \"nary\": DomType.MmlNary,\n \"eqArr\": DomType.MmlEquationArray,\n \"lim\": DomType.MmlLimit,\n \"limLow\": DomType.MmlLimitLower,\n \"m\": DomType.MmlMatrix,\n \"mr\": DomType.MmlMatrixRow,\n \"box\": DomType.MmlBox,\n \"bar\": DomType.MmlBar,\n \"groupChr\": DomType.MmlGroupChar\n};\nclass DocumentParser {\n constructor(options) {\n this.options = {\n ignoreWidth: false,\n debug: false,\n ...options\n };\n }\n parseNotes(xmlDoc, elemName, elemClass) {\n var result = [];\n for (let el of globalXmlParser.elements(xmlDoc, elemName)) {\n const node = new elemClass();\n node.id = globalXmlParser.attr(el, \"id\");\n node.noteType = globalXmlParser.attr(el, \"type\");\n node.children = this.parseBodyElements(el);\n result.push(node);\n }\n return result;\n }\n parseComments(xmlDoc) {\n var result = [];\n for (let el of globalXmlParser.elements(xmlDoc, \"comment\")) {\n const item = new WmlComment();\n item.id = globalXmlParser.attr(el, \"id\");\n item.author = globalXmlParser.attr(el, \"author\");\n item.initials = globalXmlParser.attr(el, \"initials\");\n item.date = globalXmlParser.attr(el, \"date\");\n item.children = this.parseBodyElements(el);\n result.push(item);\n }\n return result;\n }\n parseDocumentFile(xmlDoc) {\n var xbody = globalXmlParser.element(xmlDoc, \"body\");\n var background = globalXmlParser.element(xmlDoc, \"background\");\n var sectPr = globalXmlParser.element(xbody, \"sectPr\");\n return {\n type: DomType.Document,\n children: this.parseBodyElements(xbody),\n props: sectPr ? parseSectionProperties(sectPr, globalXmlParser) : {},\n cssStyle: background ? this.parseBackground(background) : {},\n };\n }\n parseBackground(elem) {\n var result = {};\n var color = xmlUtil.colorAttr(elem, \"color\");\n if (color) {\n result[\"background-color\"] = color;\n }\n return result;\n }\n parseBodyElements(element) {\n var children = [];\n for (const elem of globalXmlParser.elements(element)) {\n switch (elem.localName) {\n case \"p\":\n children.push(this.parseParagraph(elem));\n break;\n case \"altChunk\":\n children.push(this.parseAltChunk(elem));\n break;\n case \"tbl\":\n children.push(this.parseTable(elem));\n break;\n case \"sdt\":\n children.push(...this.parseSdt(elem, e => this.parseBodyElements(e)));\n break;\n }\n }\n return children;\n }\n parseStylesFile(xstyles) {\n var result = [];\n for (const n of globalXmlParser.elements(xstyles)) {\n switch (n.localName) {\n case \"style\":\n result.push(this.parseStyle(n));\n break;\n case \"docDefaults\":\n result.push(this.parseDefaultStyles(n));\n break;\n }\n }\n return result;\n }\n parseDefaultStyles(node) {\n var result = {\n id: null,\n name: null,\n target: null,\n basedOn: null,\n styles: []\n };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"rPrDefault\":\n var rPr = globalXmlParser.element(c, \"rPr\");\n if (rPr)\n result.styles.push({\n target: \"span\",\n values: this.parseDefaultProperties(rPr, {})\n });\n break;\n case \"pPrDefault\":\n var pPr = globalXmlParser.element(c, \"pPr\");\n if (pPr)\n result.styles.push({\n target: \"p\",\n values: this.parseDefaultProperties(pPr, {})\n });\n break;\n }\n }\n return result;\n }\n parseStyle(node) {\n var result = {\n id: globalXmlParser.attr(node, \"styleId\"),\n isDefault: globalXmlParser.boolAttr(node, \"default\"),\n name: null,\n target: null,\n basedOn: null,\n styles: [],\n linked: null\n };\n switch (globalXmlParser.attr(node, \"type\")) {\n case \"paragraph\":\n result.target = \"p\";\n break;\n case \"table\":\n result.target = \"table\";\n break;\n case \"character\":\n result.target = \"span\";\n break;\n }\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"basedOn\":\n result.basedOn = globalXmlParser.attr(n, \"val\");\n break;\n case \"name\":\n result.name = globalXmlParser.attr(n, \"val\");\n break;\n case \"link\":\n result.linked = globalXmlParser.attr(n, \"val\");\n break;\n case \"next\":\n result.next = globalXmlParser.attr(n, \"val\");\n break;\n case \"aliases\":\n result.aliases = globalXmlParser.attr(n, \"val\").split(\",\");\n break;\n case \"pPr\":\n result.styles.push({\n target: \"p\",\n values: this.parseDefaultProperties(n, {})\n });\n result.paragraphProps = parseParagraphProperties(n, globalXmlParser);\n break;\n case \"rPr\":\n result.styles.push({\n target: \"span\",\n values: this.parseDefaultProperties(n, {})\n });\n result.runProps = parseRunProperties(n, globalXmlParser);\n break;\n case \"tblPr\":\n case \"tcPr\":\n result.styles.push({\n target: \"td\",\n values: this.parseDefaultProperties(n, {})\n });\n break;\n case \"tblStylePr\":\n for (let s of this.parseTableStyle(n))\n result.styles.push(s);\n break;\n case \"rsid\":\n case \"qFormat\":\n case \"hidden\":\n case \"semiHidden\":\n case \"unhideWhenUsed\":\n case \"autoRedefine\":\n case \"uiPriority\":\n break;\n default:\n this.options.debug && console.warn(`DOCX: Unknown style element: ${n.localName}`);\n }\n }\n return result;\n }\n parseTableStyle(node) {\n var result = [];\n var type = globalXmlParser.attr(node, \"type\");\n var selector = \"\";\n var modificator = \"\";\n switch (type) {\n case \"firstRow\":\n modificator = \".first-row\";\n selector = \"tr.first-row td\";\n break;\n case \"lastRow\":\n modificator = \".last-row\";\n selector = \"tr.last-row td\";\n break;\n case \"firstCol\":\n modificator = \".first-col\";\n selector = \"td.first-col\";\n break;\n case \"lastCol\":\n modificator = \".last-col\";\n selector = \"td.last-col\";\n break;\n case \"band1Vert\":\n modificator = \":not(.no-vband)\";\n selector = \"td.odd-col\";\n break;\n case \"band2Vert\":\n modificator = \":not(.no-vband)\";\n selector = \"td.even-col\";\n break;\n case \"band1Horz\":\n modificator = \":not(.no-hband)\";\n selector = \"tr.odd-row\";\n break;\n case \"band2Horz\":\n modificator = \":not(.no-hband)\";\n selector = \"tr.even-row\";\n break;\n default: return [];\n }\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"pPr\":\n result.push({\n target: `${selector} p`,\n mod: modificator,\n values: this.parseDefaultProperties(n, {})\n });\n break;\n case \"rPr\":\n result.push({\n target: `${selector} span`,\n mod: modificator,\n values: this.parseDefaultProperties(n, {})\n });\n break;\n case \"tblPr\":\n case \"tcPr\":\n result.push({\n target: selector,\n mod: modificator,\n values: this.parseDefaultProperties(n, {})\n });\n break;\n }\n }\n return result;\n }\n parseNumberingFile(node) {\n const levels = [];\n const nums = [];\n const bullets = [];\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"abstractNum\":\n levels.push(...this.parseAbstractNumbering(n, bullets));\n break;\n case \"numPicBullet\":\n bullets.push(this.parseNumberingPicBullet(n));\n break;\n case \"num\":\n nums.push({\n numId: globalXmlParser.attr(n, \"numId\"),\n abstractNumId: globalXmlParser.elementAttr(n, \"abstractNumId\", \"val\"),\n });\n break;\n }\n }\n return nums.flatMap(x => levels.filter(lvl => x.abstractNumId == lvl.id).map(lvl => ({ ...lvl, id: x.numId })));\n }\n parseNumberingPicBullet(elem) {\n var pict = globalXmlParser.element(elem, \"pict\");\n var shape = pict && globalXmlParser.element(pict, \"shape\");\n var imagedata = shape && globalXmlParser.element(shape, \"imagedata\");\n return imagedata ? {\n id: globalXmlParser.intAttr(elem, \"numPicBulletId\"),\n src: globalXmlParser.attr(imagedata, \"id\"),\n style: globalXmlParser.attr(shape, \"style\")\n } : null;\n }\n parseAbstractNumbering(node, bullets) {\n var result = [];\n var id = globalXmlParser.attr(node, \"abstractNumId\");\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"lvl\":\n result.push(this.parseNumberingLevel(id, n, bullets));\n break;\n }\n }\n return result;\n }\n parseNumberingLevel(id, node, bullets) {\n var result = {\n id: id,\n level: globalXmlParser.intAttr(node, \"ilvl\"),\n start: 1,\n pStyleName: undefined,\n pStyle: {},\n rStyle: {},\n suff: \"tab\"\n };\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"start\":\n result.start = globalXmlParser.intAttr(n, \"val\");\n break;\n case \"pPr\":\n this.parseDefaultProperties(n, result.pStyle);\n break;\n case \"rPr\":\n this.parseDefaultProperties(n, result.rStyle);\n break;\n case \"lvlPicBulletId\":\n var bulletId = globalXmlParser.intAttr(n, \"val\");\n result.bullet = bullets.find(x => x?.id == bulletId);\n break;\n case \"lvlText\":\n result.levelText = globalXmlParser.attr(n, \"val\");\n break;\n case \"pStyle\":\n result.pStyleName = globalXmlParser.attr(n, \"val\");\n break;\n case \"numFmt\":\n result.format = globalXmlParser.attr(n, \"val\");\n break;\n case \"suff\":\n result.suff = globalXmlParser.attr(n, \"val\");\n break;\n }\n }\n return result;\n }\n parseSdt(node, parser) {\n const sdtContent = globalXmlParser.element(node, \"sdtContent\");\n return sdtContent ? parser(sdtContent) : [];\n }\n parseChange(type, node, parentParser) {\n return {\n type,\n children: parentParser(node)?.children ?? [],\n id: globalXmlParser.attr(node, \"id\"),\n author: globalXmlParser.attr(node, \"author\"),\n date: globalXmlParser.attr(node, \"date\"),\n };\n }\n parseAltChunk(node) {\n return { type: DomType.AltChunk, children: [], id: globalXmlParser.attr(node, \"id\") };\n }\n parseParagraph(node) {\n var result = { type: DomType.Paragraph, children: [] };\n for (let el of globalXmlParser.elements(node)) {\n switch (el.localName) {\n case \"pPr\":\n this.parseParagraphProperties(el, result);\n break;\n case \"r\":\n result.children.push(this.parseRun(el, result));\n break;\n case \"hyperlink\":\n result.children.push(this.parseHyperlink(el, result));\n break;\n case \"smartTag\":\n result.children.push(this.parseSmartTag(el, result));\n break;\n case \"bookmarkStart\":\n result.children.push(parseBookmarkStart(el, globalXmlParser));\n break;\n case \"bookmarkEnd\":\n result.children.push(parseBookmarkEnd(el, globalXmlParser));\n break;\n case \"commentRangeStart\":\n result.children.push(new WmlCommentRangeStart(globalXmlParser.attr(el, \"id\")));\n break;\n case \"commentRangeEnd\":\n result.children.push(new WmlCommentRangeEnd(globalXmlParser.attr(el, \"id\")));\n break;\n case \"oMath\":\n case \"oMathPara\":\n result.children.push(this.parseMathElement(el));\n break;\n case \"sdt\":\n result.children.push(...this.parseSdt(el, e => this.parseParagraph(e).children));\n break;\n case \"ins\":\n result.children.push(this.parseChange(DomType.Inserted, el, e => this.parseParagraph(e)));\n break;\n case \"del\":\n result.children.push(this.parseChange(DomType.Deleted, el, e => this.parseParagraph(e)));\n break;\n }\n }\n return result;\n }\n parseParagraphProperties(elem, paragraph) {\n this.parseDefaultProperties(elem, paragraph.cssStyle = {}, null, c => {\n if (parseParagraphProperty(c, paragraph, globalXmlParser))\n return true;\n switch (c.localName) {\n case \"pStyle\":\n paragraph.styleName = globalXmlParser.attr(c, \"val\");\n break;\n case \"cnfStyle\":\n paragraph.className = values.classNameOfCnfStyle(c);\n break;\n case \"framePr\":\n this.parseFrame(c, paragraph);\n break;\n case \"rPr\":\n break;\n default:\n return false;\n }\n return true;\n });\n }\n parseFrame(node, paragraph) {\n var dropCap = globalXmlParser.attr(node, \"dropCap\");\n if (dropCap == \"drop\")\n paragraph.cssStyle[\"float\"] = \"left\";\n }\n parseHyperlink(node, parent) {\n var result = { type: DomType.Hyperlink, parent: parent, children: [] };\n result.anchor = globalXmlParser.attr(node, \"anchor\");\n result.id = globalXmlParser.attr(node, \"id\");\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"r\":\n result.children.push(this.parseRun(c, result));\n break;\n }\n }\n return result;\n }\n parseSmartTag(node, parent) {\n var result = { type: DomType.SmartTag, parent, children: [] };\n var uri = globalXmlParser.attr(node, \"uri\");\n var element = globalXmlParser.attr(node, \"element\");\n if (uri)\n result.uri = uri;\n if (element)\n result.element = element;\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"r\":\n result.children.push(this.parseRun(c, result));\n break;\n case \"smartTag\":\n result.children.push(this.parseSmartTag(c, result));\n break;\n }\n }\n return result;\n }\n parseRun(node, parent) {\n var result = { type: DomType.Run, parent: parent, children: [] };\n for (let c of globalXmlParser.elements(node)) {\n c = this.checkAlternateContent(c);\n switch (c.localName) {\n case \"t\":\n result.children.push({\n type: DomType.Text,\n text: c.textContent\n });\n break;\n case \"delText\":\n result.children.push({\n type: DomType.DeletedText,\n text: c.textContent\n });\n break;\n case \"commentReference\":\n result.children.push(new WmlCommentReference(globalXmlParser.attr(c, \"id\")));\n break;\n case \"fldSimple\":\n result.children.push({\n type: DomType.SimpleField,\n instruction: globalXmlParser.attr(c, \"instr\"),\n lock: globalXmlParser.boolAttr(c, \"lock\", false),\n dirty: globalXmlParser.boolAttr(c, \"dirty\", false)\n });\n break;\n case \"instrText\":\n result.fieldRun = true;\n result.children.push({\n type: DomType.Instruction,\n text: c.textContent\n });\n break;\n case \"fldChar\":\n result.fieldRun = true;\n result.children.push({\n type: DomType.ComplexField,\n charType: globalXmlParser.attr(c, \"fldCharType\"),\n lock: globalXmlParser.boolAttr(c, \"lock\", false),\n dirty: globalXmlParser.boolAttr(c, \"dirty\", false)\n });\n break;\n case \"noBreakHyphen\":\n result.children.push({ type: DomType.NoBreakHyphen });\n break;\n case \"br\":\n result.children.push({\n type: DomType.Break,\n break: globalXmlParser.attr(c, \"type\") || \"textWrapping\"\n });\n break;\n case \"lastRenderedPageBreak\":\n result.children.push({\n type: DomType.Break,\n break: \"lastRenderedPageBreak\"\n });\n break;\n case \"sym\":\n result.children.push({\n type: DomType.Symbol,\n font: encloseFontFamily(globalXmlParser.attr(c, \"font\")),\n char: globalXmlParser.hexAttr(c, \"char\")\n });\n break;\n case \"tab\":\n result.children.push({ type: DomType.Tab });\n break;\n case \"footnoteReference\":\n result.children.push({\n type: DomType.FootnoteReference,\n id: globalXmlParser.attr(c, \"id\")\n });\n break;\n case \"endnoteReference\":\n result.children.push({\n type: DomType.EndnoteReference,\n id: globalXmlParser.attr(c, \"id\")\n });\n break;\n case \"drawing\":\n let d = this.parseDrawing(c);\n if (d)\n result.children.push(d);\n break;\n case \"pict\":\n result.children.push(this.parseVmlPicture(c));\n break;\n case \"rPr\":\n this.parseRunProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseMathElement(elem) {\n const propsTag = `${elem.localName}Pr`;\n const result = { type: mmlTagMap[elem.localName], children: [] };\n for (const el of globalXmlParser.elements(elem)) {\n const childType = mmlTagMap[el.localName];\n if (childType) {\n result.children.push(this.parseMathElement(el));\n }\n else if (el.localName == \"r\") {\n var run = this.parseRun(el);\n run.type = DomType.MmlRun;\n result.children.push(run);\n }\n else if (el.localName == propsTag) {\n result.props = this.parseMathProperies(el);\n }\n }\n return result;\n }\n parseMathProperies(elem) {\n const result = {};\n for (const el of globalXmlParser.elements(elem)) {\n switch (el.localName) {\n case \"chr\":\n result.char = globalXmlParser.attr(el, \"val\");\n break;\n case \"vertJc\":\n result.verticalJustification = globalXmlParser.attr(el, \"val\");\n break;\n case \"pos\":\n result.position = globalXmlParser.attr(el, \"val\");\n break;\n case \"degHide\":\n result.hideDegree = globalXmlParser.boolAttr(el, \"val\");\n break;\n case \"begChr\":\n result.beginChar = globalXmlParser.attr(el, \"val\");\n break;\n case \"endChr\":\n result.endChar = globalXmlParser.attr(el, \"val\");\n break;\n }\n }\n return result;\n }\n parseRunProperties(elem, run) {\n this.parseDefaultProperties(elem, run.cssStyle = {}, null, c => {\n switch (c.localName) {\n case \"rStyle\":\n run.styleName = globalXmlParser.attr(c, \"val\");\n break;\n case \"vertAlign\":\n run.verticalAlign = values.valueOfVertAlign(c, true);\n break;\n default:\n return false;\n }\n return true;\n });\n }\n parseVmlPicture(elem) {\n const result = { type: DomType.VmlPicture, children: [] };\n for (const el of globalXmlParser.elements(elem)) {\n const child = parseVmlElement(el, this);\n child && result.children.push(child);\n }\n return result;\n }\n checkAlternateContent(elem) {\n if (elem.localName != 'AlternateContent')\n return elem;\n var choice = globalXmlParser.element(elem, \"Choice\");\n if (choice) {\n var requires = globalXmlParser.attr(choice, \"Requires\");\n var namespaceURI = elem.lookupNamespaceURI(requires);\n if (supportedNamespaceURIs.includes(namespaceURI))\n return choice.firstElementChild;\n }\n return globalXmlParser.element(elem, \"Fallback\")?.firstElementChild;\n }\n parseDrawing(node) {\n for (var n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"inline\":\n case \"anchor\":\n return this.parseDrawingWrapper(n);\n }\n }\n }\n parseDrawingWrapper(node) {\n var result = { type: DomType.Drawing, children: [], cssStyle: {} };\n var isAnchor = node.localName == \"anchor\";\n let wrapType = null;\n let simplePos = globalXmlParser.boolAttr(node, \"simplePos\");\n globalXmlParser.boolAttr(node, \"behindDoc\");\n let posX = { relative: \"page\", align: \"left\", offset: \"0\" };\n let posY = { relative: \"page\", align: \"top\", offset: \"0\" };\n for (var n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"simplePos\":\n if (simplePos) {\n posX.offset = globalXmlParser.lengthAttr(n, \"x\", LengthUsage.Emu);\n posY.offset = globalXmlParser.lengthAttr(n, \"y\", LengthUsage.Emu);\n }\n break;\n case \"extent\":\n result.cssStyle[\"width\"] = globalXmlParser.lengthAttr(n, \"cx\", LengthUsage.Emu);\n result.cssStyle[\"height\"] = globalXmlParser.lengthAttr(n, \"cy\", LengthUsage.Emu);\n break;\n case \"positionH\":\n case \"positionV\":\n if (!simplePos) {\n let pos = n.localName == \"positionH\" ? posX : posY;\n var alignNode = globalXmlParser.element(n, \"align\");\n var offsetNode = globalXmlParser.element(n, \"posOffset\");\n pos.relative = globalXmlParser.attr(n, \"relativeFrom\") ?? pos.relative;\n if (alignNode)\n pos.align = alignNode.textContent;\n if (offsetNode)\n pos.offset = convertLength(offsetNode.textContent, LengthUsage.Emu);\n }\n break;\n case \"wrapTopAndBottom\":\n wrapType = \"wrapTopAndBottom\";\n break;\n case \"wrapNone\":\n wrapType = \"wrapNone\";\n break;\n case \"graphic\":\n var g = this.parseGraphic(n);\n if (g)\n result.children.push(g);\n break;\n }\n }\n if (wrapType == \"wrapTopAndBottom\") {\n result.cssStyle['display'] = 'block';\n if (posX.align) {\n result.cssStyle['text-align'] = posX.align;\n result.cssStyle['width'] = \"100%\";\n }\n }\n else if (wrapType == \"wrapNone\") {\n result.cssStyle['display'] = 'block';\n result.cssStyle['position'] = 'relative';\n result.cssStyle[\"width\"] = \"0px\";\n result.cssStyle[\"height\"] = \"0px\";\n if (posX.offset)\n result.cssStyle[\"left\"] = posX.offset;\n if (posY.offset)\n result.cssStyle[\"top\"] = posY.offset;\n }\n else if (isAnchor && (posX.align == 'left' || posX.align == 'right')) {\n result.cssStyle[\"float\"] = posX.align;\n }\n return result;\n }\n parseGraphic(elem) {\n var graphicData = globalXmlParser.element(elem, \"graphicData\");\n for (let n of globalXmlParser.elements(graphicData)) {\n switch (n.localName) {\n case \"pic\":\n return this.parsePicture(n);\n }\n }\n return null;\n }\n parsePicture(elem) {\n var result = { type: DomType.Image, src: \"\", cssStyle: {} };\n var blipFill = globalXmlParser.element(elem, \"blipFill\");\n var blip = globalXmlParser.element(blipFill, \"blip\");\n var srcRect = globalXmlParser.element(blipFill, \"srcRect\");\n result.src = globalXmlParser.attr(blip, \"embed\");\n if (srcRect) {\n result.srcRect = [\n globalXmlParser.intAttr(srcRect, \"l\", 0) / 100000,\n globalXmlParser.intAttr(srcRect, \"t\", 0) / 100000,\n globalXmlParser.intAttr(srcRect, \"r\", 0) / 100000,\n globalXmlParser.intAttr(srcRect, \"b\", 0) / 100000,\n ];\n }\n var spPr = globalXmlParser.element(elem, \"spPr\");\n var xfrm = globalXmlParser.element(spPr, \"xfrm\");\n result.cssStyle[\"position\"] = \"relative\";\n if (xfrm) {\n result.rotation = globalXmlParser.intAttr(xfrm, \"rot\", 0) / 60000;\n for (var n of globalXmlParser.elements(xfrm)) {\n switch (n.localName) {\n case \"ext\":\n result.cssStyle[\"width\"] = globalXmlParser.lengthAttr(n, \"cx\", LengthUsage.Emu);\n result.cssStyle[\"height\"] = globalXmlParser.lengthAttr(n, \"cy\", LengthUsage.Emu);\n break;\n case \"off\":\n result.cssStyle[\"left\"] = globalXmlParser.lengthAttr(n, \"x\", LengthUsage.Emu);\n result.cssStyle[\"top\"] = globalXmlParser.lengthAttr(n, \"y\", LengthUsage.Emu);\n break;\n }\n }\n }\n return result;\n }\n parseTable(node) {\n var result = { type: DomType.Table, children: [] };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"tr\":\n result.children.push(this.parseTableRow(c));\n break;\n case \"tblGrid\":\n result.columns = this.parseTableColumns(c);\n break;\n case \"tblPr\":\n this.parseTableProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseTableColumns(node) {\n var result = [];\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"gridCol\":\n result.push({ width: globalXmlParser.lengthAttr(n, \"w\") });\n break;\n }\n }\n return result;\n }\n parseTableProperties(elem, table) {\n table.cssStyle = {};\n table.cellStyle = {};\n this.parseDefaultProperties(elem, table.cssStyle, table.cellStyle, c => {\n switch (c.localName) {\n case \"tblStyle\":\n table.styleName = globalXmlParser.attr(c, \"val\");\n break;\n case \"tblLook\":\n table.className = values.classNameOftblLook(c);\n break;\n case \"tblpPr\":\n this.parseTablePosition(c, table);\n break;\n case \"tblStyleColBandSize\":\n table.colBandSize = globalXmlParser.intAttr(c, \"val\");\n break;\n case \"tblStyleRowBandSize\":\n table.rowBandSize = globalXmlParser.intAttr(c, \"val\");\n break;\n case \"hidden\":\n table.cssStyle[\"display\"] = \"none\";\n break;\n default:\n return false;\n }\n return true;\n });\n switch (table.cssStyle[\"text-align\"]) {\n case \"center\":\n delete table.cssStyle[\"text-align\"];\n table.cssStyle[\"margin-left\"] = \"auto\";\n table.cssStyle[\"margin-right\"] = \"auto\";\n break;\n case \"right\":\n delete table.cssStyle[\"text-align\"];\n table.cssStyle[\"margin-left\"] = \"auto\";\n break;\n }\n }\n parseTablePosition(node, table) {\n var topFromText = globalXmlParser.lengthAttr(node, \"topFromText\");\n var bottomFromText = globalXmlParser.lengthAttr(node, \"bottomFromText\");\n var rightFromText = globalXmlParser.lengthAttr(node, \"rightFromText\");\n var leftFromText = globalXmlParser.lengthAttr(node, \"leftFromText\");\n table.cssStyle[\"float\"] = 'left';\n table.cssStyle[\"margin-bottom\"] = values.addSize(table.cssStyle[\"margin-bottom\"], bottomFromText);\n table.cssStyle[\"margin-left\"] = values.addSize(table.cssStyle[\"margin-left\"], leftFromText);\n table.cssStyle[\"margin-right\"] = values.addSize(table.cssStyle[\"margin-right\"], rightFromText);\n table.cssStyle[\"margin-top\"] = values.addSize(table.cssStyle[\"margin-top\"], topFromText);\n }\n parseTableRow(node) {\n var result = { type: DomType.Row, children: [] };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"tc\":\n result.children.push(this.parseTableCell(c));\n break;\n case \"trPr\":\n case \"tblPrEx\":\n this.parseTableRowProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseTableRowProperties(elem, row) {\n row.cssStyle = this.parseDefaultProperties(elem, {}, null, c => {\n switch (c.localName) {\n case \"cnfStyle\":\n row.className = values.classNameOfCnfStyle(c);\n break;\n case \"tblHeader\":\n row.isHeader = globalXmlParser.boolAttr(c, \"val\");\n break;\n case \"gridBefore\":\n row.gridBefore = globalXmlParser.intAttr(c, \"val\");\n break;\n case \"gridAfter\":\n row.gridAfter = globalXmlParser.intAttr(c, \"val\");\n break;\n default:\n return false;\n }\n return true;\n });\n }\n parseTableCell(node) {\n var result = { type: DomType.Cell, children: [] };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"tbl\":\n result.children.push(this.parseTable(c));\n break;\n case \"p\":\n result.children.push(this.parseParagraph(c));\n break;\n case \"tcPr\":\n this.parseTableCellProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseTableCellProperties(elem, cell) {\n cell.cssStyle = this.parseDefaultProperties(elem, {}, null, c => {\n switch (c.localName) {\n case \"gridSpan\":\n cell.span = globalXmlParser.intAttr(c, \"val\", null);\n break;\n case \"vMerge\":\n cell.verticalMerge = globalXmlParser.attr(c, \"val\") ?? \"continue\";\n break;\n case \"cnfStyle\":\n cell.className = values.classNameOfCnfStyle(c);\n break;\n default:\n return false;\n }\n return true;\n });\n this.parseTableCellVerticalText(elem, cell);\n }\n parseTableCellVerticalText(elem, cell) {\n const directionMap = {\n \"btLr\": {\n writingMode: \"vertical-rl\",\n transform: \"rotate(180deg)\"\n },\n \"lrTb\": {\n writingMode: \"vertical-lr\",\n transform: \"none\"\n },\n \"tbRl\": {\n writingMode: \"vertical-rl\",\n transform: \"none\"\n }\n };\n for (const c of globalXmlParser.elements(elem)) {\n if (c.localName === \"textDirection\") {\n const direction = globalXmlParser.attr(c, \"val\");\n const style = directionMap[direction] || { writingMode: \"horizontal-tb\" };\n cell.cssStyle[\"writing-mode\"] = style.writingMode;\n cell.cssStyle[\"transform\"] = style.transform;\n }\n }\n }\n parseDefaultProperties(elem, style = null, childStyle = null, handler = null) {\n style = style || {};\n for (const c of globalXmlParser.elements(elem)) {\n if (handler?.(c))\n continue;\n switch (c.localName) {\n case \"jc\":\n style[\"text-align\"] = values.valueOfJc(c);\n break;\n case \"textAlignment\":\n style[\"vertical-align\"] = values.valueOfTextAlignment(c);\n break;\n case \"color\":\n style[\"color\"] = xmlUtil.colorAttr(c, \"val\", null, autos.color);\n break;\n case \"sz\":\n style[\"font-size\"] = style[\"min-height\"] = globalXmlParser.lengthAttr(c, \"val\", LengthUsage.FontSize);\n break;\n case \"shd\":\n style[\"background-color\"] = xmlUtil.colorAttr(c, \"fill\", null, autos.shd);\n break;\n case \"highlight\":\n style[\"background-color\"] = xmlUtil.colorAttr(c, \"val\", null, autos.highlight);\n break;\n case \"vertAlign\":\n break;\n case \"position\":\n style.verticalAlign = globalXmlParser.lengthAttr(c, \"val\", LengthUsage.FontSize);\n break;\n case \"tcW\":\n if (this.options.ignoreWidth)\n break;\n case \"tblW\":\n style[\"width\"] = values.valueOfSize(c, \"w\");\n break;\n case \"trHeight\":\n this.parseTrHeight(c, style);\n break;\n case \"strike\":\n style[\"text-decoration\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"line-through\" : \"none\";\n break;\n case \"b\":\n style[\"font-weight\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"bold\" : \"normal\";\n break;\n case \"i\":\n style[\"font-style\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"italic\" : \"normal\";\n break;\n case \"caps\":\n style[\"text-transform\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"uppercase\" : \"none\";\n break;\n case \"smallCaps\":\n style[\"font-variant\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"small-caps\" : \"none\";\n break;\n case \"u\":\n this.parseUnderline(c, style);\n break;\n case \"ind\":\n case \"tblInd\":\n this.parseIndentation(c, style);\n break;\n case \"rFonts\":\n this.parseFont(c, style);\n break;\n case \"tblBorders\":\n this.parseBorderProperties(c, childStyle || style);\n break;\n case \"tblCellSpacing\":\n style[\"border-spacing\"] = values.valueOfMargin(c);\n style[\"border-collapse\"] = \"separate\";\n break;\n case \"pBdr\":\n this.parseBorderProperties(c, style);\n break;\n case \"bdr\":\n style[\"border\"] = values.valueOfBorder(c);\n break;\n case \"tcBorders\":\n this.parseBorderProperties(c, style);\n break;\n case \"vanish\":\n if (globalXmlParser.boolAttr(c, \"val\", true))\n style[\"display\"] = \"none\";\n break;\n case \"kern\":\n break;\n case \"noWrap\":\n break;\n case \"tblCellMar\":\n case \"tcMar\":\n this.parseMarginProperties(c, childStyle || style);\n break;\n case \"tblLayout\":\n style[\"table-layout\"] = values.valueOfTblLayout(c);\n break;\n case \"vAlign\":\n style[\"vertical-align\"] = values.valueOfTextAlignment(c);\n break;\n case \"spacing\":\n if (elem.localName == \"pPr\")\n this.parseSpacing(c, style);\n break;\n case \"wordWrap\":\n if (globalXmlParser.boolAttr(c, \"val\"))\n style[\"overflow-wrap\"] = \"break-word\";\n break;\n case \"suppressAutoHyphens\":\n style[\"hyphens\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"none\" : \"auto\";\n break;\n case \"lang\":\n style[\"$lang\"] = globalXmlParser.attr(c, \"val\");\n break;\n case \"rtl\":\n case \"bidi\":\n if (globalXmlParser.boolAttr(c, \"val\", true))\n style[\"direction\"] = \"rtl\";\n break;\n case \"bCs\":\n case \"iCs\":\n case \"szCs\":\n case \"tabs\":\n case \"outlineLvl\":\n case \"contextualSpacing\":\n case \"tblStyleColBandSize\":\n case \"tblStyleRowBandSize\":\n case \"webHidden\":\n case \"pageBreakBefore\":\n case \"suppressLineNumbers\":\n case \"keepLines\":\n case \"keepNext\":\n case \"widowControl\":\n case \"noProof\":\n break;\n default:\n if (this.options.debug)\n console.warn(`DOCX: Unknown document element: ${elem.localName}.${c.localName}`);\n break;\n }\n }\n return style;\n }\n parseUnderline(node, style) {\n var val = globalXmlParser.attr(node, \"val\");\n if (val == null)\n return;\n switch (val) {\n case \"dash\":\n case \"dashDotDotHeavy\":\n case \"dashDotHeavy\":\n case \"dashedHeavy\":\n case \"dashLong\":\n case \"dashLongHeavy\":\n case \"dotDash\":\n case \"dotDotDash\":\n style[\"text-decoration\"] = \"underline dashed\";\n break;\n case \"dotted\":\n case \"dottedHeavy\":\n style[\"text-decoration\"] = \"underline dotted\";\n break;\n case \"double\":\n style[\"text-decoration\"] = \"underline double\";\n break;\n case \"single\":\n case \"thick\":\n style[\"text-decoration\"] = \"underline\";\n break;\n case \"wave\":\n case \"wavyDouble\":\n case \"wavyHeavy\":\n style[\"text-decoration\"] = \"underline wavy\";\n break;\n case \"words\":\n style[\"text-decoration\"] = \"underline\";\n break;\n case \"none\":\n style[\"text-decoration\"] = \"none\";\n break;\n }\n var col = xmlUtil.colorAttr(node, \"color\");\n if (col)\n style[\"text-decoration-color\"] = col;\n }\n parseFont(node, style) {\n var ascii = globalXmlParser.attr(node, \"ascii\");\n var asciiTheme = values.themeValue(node, \"asciiTheme\");\n var eastAsia = globalXmlParser.attr(node, \"eastAsia\");\n var fonts = [ascii, asciiTheme, eastAsia].filter(x => x).map(x => encloseFontFamily(x));\n if (fonts.length > 0)\n style[\"font-family\"] = [...new Set(fonts)].join(', ');\n }\n parseIndentation(node, style) {\n var firstLine = globalXmlParser.lengthAttr(node, \"firstLine\");\n var hanging = globalXmlParser.lengthAttr(node, \"hanging\");\n var left = globalXmlParser.lengthAttr(node, \"left\");\n var start = globalXmlParser.lengthAttr(node, \"start\");\n var right = globalXmlParser.lengthAttr(node, \"right\");\n var end = globalXmlParser.lengthAttr(node, \"end\");\n if (firstLine)\n style[\"text-indent\"] = firstLine;\n if (hanging)\n style[\"text-indent\"] = `-${hanging}`;\n if (left || start)\n style[\"margin-inline-start\"] = left || start;\n if (right || end)\n style[\"margin-inline-end\"] = right || end;\n }\n parseSpacing(node, style) {\n var before = globalXmlParser.lengthAttr(node, \"before\");\n var after = globalXmlParser.lengthAttr(node, \"after\");\n var line = globalXmlParser.intAttr(node, \"line\", null);\n var lineRule = globalXmlParser.attr(node, \"lineRule\");\n if (before)\n style[\"margin-top\"] = before;\n if (after)\n style[\"margin-bottom\"] = after;\n if (line !== null) {\n switch (lineRule) {\n case \"auto\":\n style[\"line-height\"] = `${(line / 240).toFixed(2)}`;\n break;\n case \"atLeast\":\n style[\"line-height\"] = `calc(100% + ${line / 20}pt)`;\n break;\n default:\n style[\"line-height\"] = style[\"min-height\"] = `${line / 20}pt`;\n break;\n }\n }\n }\n parseMarginProperties(node, output) {\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"left\":\n output[\"padding-left\"] = values.valueOfMargin(c);\n break;\n case \"right\":\n output[\"padding-right\"] = values.valueOfMargin(c);\n break;\n case \"top\":\n output[\"padding-top\"] = values.valueOfMargin(c);\n break;\n case \"bottom\":\n output[\"padding-bottom\"] = values.valueOfMargin(c);\n break;\n }\n }\n }\n parseTrHeight(node, output) {\n switch (globalXmlParser.attr(node, \"hRule\")) {\n case \"exact\":\n output[\"height\"] = globalXmlParser.lengthAttr(node, \"val\");\n break;\n case \"atLeast\":\n default:\n output[\"height\"] = globalXmlParser.lengthAttr(node, \"val\");\n break;\n }\n }\n parseBorderProperties(node, output) {\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"start\":\n case \"left\":\n output[\"border-left\"] = values.valueOfBorder(c);\n break;\n case \"end\":\n case \"right\":\n output[\"border-right\"] = values.valueOfBorder(c);\n break;\n case \"top\":\n output[\"border-top\"] = values.valueOfBorder(c);\n break;\n case \"bottom\":\n output[\"border-bottom\"] = values.valueOfBorder(c);\n break;\n }\n }\n }\n}\nconst knownColors = ['black', 'blue', 'cyan', 'darkBlue', 'darkCyan', 'darkGray', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow', 'green', 'lightGray', 'magenta', 'none', 'red', 'white', 'yellow'];\nclass xmlUtil {\n static colorAttr(node, attrName, defValue = null, autoColor = 'black') {\n var v = globalXmlParser.attr(node, attrName);\n if (v) {\n if (v == \"auto\") {\n return autoColor;\n }\n else if (knownColors.includes(v)) {\n return v;\n }\n return `#${v}`;\n }\n var themeColor = globalXmlParser.attr(node, \"themeColor\");\n return themeColor ? `var(--docx-${themeColor}-color)` : defValue;\n }\n}\nclass values {\n static themeValue(c, attr) {\n var val = globalXmlParser.attr(c, attr);\n return val ? `var(--docx-${val}-font)` : null;\n }\n static valueOfSize(c, attr) {\n var type = LengthUsage.Dxa;\n switch (globalXmlParser.attr(c, \"type\")) {\n case \"dxa\": break;\n case \"pct\":\n type = LengthUsage.Percent;\n break;\n case \"auto\": return \"auto\";\n }\n return globalXmlParser.lengthAttr(c, attr, type);\n }\n static valueOfMargin(c) {\n return globalXmlParser.lengthAttr(c, \"w\");\n }\n static valueOfBorder(c) {\n var type = values.parseBorderType(globalXmlParser.attr(c, \"val\"));\n if (type == \"none\")\n return \"none\";\n var color = xmlUtil.colorAttr(c, \"color\");\n var size = globalXmlParser.lengthAttr(c, \"sz\", LengthUsage.Border);\n return `${size} ${type} ${color == \"auto\" ? autos.borderColor : color}`;\n }\n static parseBorderType(type) {\n switch (type) {\n case \"single\": return \"solid\";\n case \"dashDotStroked\": return \"solid\";\n case \"dashed\": return \"dashed\";\n case \"dashSmallGap\": return \"dashed\";\n case \"dotDash\": return \"dotted\";\n case \"dotDotDash\": return \"dotted\";\n case \"dotted\": return \"dotted\";\n case \"double\": return \"double\";\n case \"doubleWave\": return \"double\";\n case \"inset\": return \"inset\";\n case \"nil\": return \"none\";\n case \"none\": return \"none\";\n case \"outset\": return \"outset\";\n case \"thick\": return \"solid\";\n case \"thickThinLargeGap\": return \"solid\";\n case \"thickThinMediumGap\": return \"solid\";\n case \"thickThinSmallGap\": return \"solid\";\n case \"thinThickLargeGap\": return \"solid\";\n case \"thinThickMediumGap\": return \"solid\";\n case \"thinThickSmallGap\": return \"solid\";\n case \"thinThickThinLargeGap\": return \"solid\";\n case \"thinThickThinMediumGap\": return \"solid\";\n case \"thinThickThinSmallGap\": return \"solid\";\n case \"threeDEmboss\": return \"solid\";\n case \"threeDEngrave\": return \"solid\";\n case \"triple\": return \"double\";\n case \"wave\": return \"solid\";\n }\n return 'solid';\n }\n static valueOfTblLayout(c) {\n var type = globalXmlParser.attr(c, \"val\");\n return type == \"fixed\" ? \"fixed\" : \"auto\";\n }\n static classNameOfCnfStyle(c) {\n const val = globalXmlParser.attr(c, \"val\");\n const classes = [\n 'first-row', 'last-row', 'first-col', 'last-col',\n 'odd-col', 'even-col', 'odd-row', 'even-row',\n 'ne-cell', 'nw-cell', 'se-cell', 'sw-cell'\n ];\n if (val)\n return classes.filter((_, i) => val[i] == '1').join(' ');\n const attrs = [\n 'firstRow', 'lastRow', 'firstColumn', 'lastColumn',\n 'oddVBand', 'evenVBand', 'oddHBand', 'evenHBand',\n 'firstRowLastColumn', 'firstRowFirstColumn', 'lastRowLastColumn', 'lastRowFirstColumn'\n ];\n return classes.filter((_, i) => globalXmlParser.boolAttr(c, attrs[i])).join(' ');\n }\n static valueOfJc(c) {\n var type = globalXmlParser.attr(c, \"val\");\n switch (type) {\n case \"start\":\n case \"left\": return \"left\";\n case \"center\": return \"center\";\n case \"end\":\n case \"right\": return \"right\";\n case \"both\": return \"justify\";\n }\n return type;\n }\n static valueOfVertAlign(c, asTagName = false) {\n var type = globalXmlParser.attr(c, \"val\");\n switch (type) {\n case \"subscript\": return \"sub\";\n case \"superscript\": return asTagName ? \"sup\" : \"super\";\n }\n return asTagName ? null : type;\n }\n static valueOfTextAlignment(c) {\n var type = globalXmlParser.attr(c, \"val\");\n switch (type) {\n case \"auto\":\n case \"baseline\": return \"baseline\";\n case \"top\": return \"top\";\n case \"center\": return \"middle\";\n case \"bottom\": return \"bottom\";\n }\n return type;\n }\n static addSize(a, b) {\n if (a == null)\n return b;\n if (b == null)\n return a;\n return `calc(${a} + ${b})`;\n }\n static classNameOftblLook(c) {\n const val = globalXmlParser.hexAttr(c, \"val\", 0);\n let className = \"\";\n if (globalXmlParser.boolAttr(c, \"firstRow\") || (val & 0x0020))\n className += \" first-row\";\n if (globalXmlParser.boolAttr(c, \"lastRow\") || (val & 0x0040))\n className += \" last-row\";\n if (globalXmlParser.boolAttr(c, \"firstColumn\") || (val & 0x0080))\n className += \" first-col\";\n if (globalXmlParser.boolAttr(c, \"lastColumn\") || (val & 0x0100))\n className += \" last-col\";\n if (globalXmlParser.boolAttr(c, \"noHBand\") || (val & 0x0200))\n className += \" no-hband\";\n if (globalXmlParser.boolAttr(c, \"noVBand\") || (val & 0x0400))\n className += \" no-vband\";\n return className.trim();\n }\n}\n\nconst defaultTab = { pos: 0, leader: \"none\", style: \"left\" };\nconst maxTabs = 50;\nfunction computePixelToPoint(container = document.body) {\n const temp = document.createElement(\"div\");\n temp.style.width = '100pt';\n container.appendChild(temp);\n const result = 100 / temp.offsetWidth;\n container.removeChild(temp);\n return result;\n}\nfunction updateTabStop(elem, tabs, defaultTabSize, pixelToPoint = 72 / 96) {\n const p = elem.closest(\"p\");\n const ebb = elem.getBoundingClientRect();\n const pbb = p.getBoundingClientRect();\n const pcs = getComputedStyle(p);\n const tabStops = tabs?.length > 0 ? tabs.map(t => ({\n pos: lengthToPoint(t.position),\n leader: t.leader,\n style: t.style\n })).sort((a, b) => a.pos - b.pos) : [defaultTab];\n const lastTab = tabStops[tabStops.length - 1];\n const pWidthPt = pbb.width * pixelToPoint;\n const size = lengthToPoint(defaultTabSize);\n let pos = lastTab.pos + size;\n if (pos < pWidthPt) {\n for (; pos < pWidthPt && tabStops.length < maxTabs; pos += size) {\n tabStops.push({ ...defaultTab, pos: pos });\n }\n }\n const marginLeft = parseFloat(pcs.marginLeft);\n const pOffset = pbb.left + marginLeft;\n const left = (ebb.left - pOffset) * pixelToPoint;\n const tab = tabStops.find(t => t.style != \"clear\" && t.pos > left);\n if (tab == null)\n return;\n let width = 1;\n if (tab.style == \"right\" || tab.style == \"center\") {\n const tabStops = Array.from(p.querySelectorAll(`.${elem.className}`));\n const nextIdx = tabStops.indexOf(elem) + 1;\n const range = document.createRange();\n range.setStart(elem, 1);\n if (nextIdx < tabStops.length) {\n range.setEndBefore(tabStops[nextIdx]);\n }\n else {\n range.setEndAfter(p);\n }\n const mul = tab.style == \"center\" ? 0.5 : 1;\n const nextBB = range.getBoundingClientRect();\n const offset = nextBB.left + mul * nextBB.width - (pbb.left - marginLeft);\n width = tab.pos - offset * pixelToPoint;\n }\n else {\n width = tab.pos - left;\n }\n elem.innerHTML = \" \";\n elem.style.textDecoration = \"inherit\";\n elem.style.wordSpacing = `${width.toFixed(0)}pt`;\n switch (tab.leader) {\n case \"dot\":\n case \"middleDot\":\n elem.style.textDecoration = \"underline\";\n elem.style.textDecorationStyle = \"dotted\";\n break;\n case \"hyphen\":\n case \"heavy\":\n case \"underscore\":\n elem.style.textDecoration = \"underline\";\n break;\n }\n}\nfunction lengthToPoint(length) {\n return parseFloat(length);\n}\n\nvar ns;\n(function (ns) {\n ns[\"html\"] = \"http://www.w3.org/1999/xhtml\";\n ns[\"svg\"] = \"http://www.w3.org/2000/svg\";\n ns[\"mathML\"] = \"http://www.w3.org/1998/Math/MathML\";\n})(ns || (ns = {}));\nfunction h(elem) {\n if (isString(elem))\n return document.createTextNode(elem);\n if (elem instanceof Node)\n return elem;\n const { ns, tagName, className, style, children, ...props } = elem;\n if (tagName === \"#fragment\")\n return document.createDocumentFragment();\n if (tagName === \"#comment\")\n return document.createComment(children[0]);\n const result = (ns ? document.createElementNS(ns, tagName) : document.createElement(tagName));\n if (className)\n result.setAttribute(\"class\", className);\n if (style) {\n if (isString(style)) {\n result.setAttribute(\"style\", style);\n }\n else {\n Object.assign(result.style, style);\n }\n }\n if (props) {\n for (const [key, value] of Object.entries(props))\n if (value !== undefined)\n result[key] = value;\n }\n if (children)\n children.forEach(c => result.appendChild(h(c)));\n return result;\n}\nfunction cx(...classNames) {\n return classNames.filter(Boolean).join(\" \");\n}\n\nclass HtmlRenderer {\n constructor() {\n this.className = \"docx\";\n this.styleMap = {};\n this.currentPart = null;\n this.tableVerticalMerges = [];\n this.currentVerticalMerge = null;\n this.tableCellPositions = [];\n this.currentCellPosition = null;\n this.footnoteMap = {};\n this.endnoteMap = {};\n this.currentEndnoteIds = [];\n this.usedHederFooterParts = [];\n this.currentTabs = [];\n this.commentMap = {};\n this.tasks = [];\n this.postRenderTasks = [];\n this.h = h;\n }\n async render(document, options) {\n this.document = document;\n this.options = options;\n this.className = options.className;\n this.rootSelector = options.inWrapper ? `.${this.className}-wrapper` : ':root';\n this.h = options.h ?? h;\n this.styleMap = null;\n this.tasks = [];\n if (this.options.renderComments && globalThis.Highlight) {\n this.commentHighlight = new Highlight();\n }\n const result = [...this.renderDefaultStyle()];\n if (document.themePart) {\n result.push(...this.renderTheme(document.themePart));\n }\n if (document.stylesPart != null) {\n this.styleMap = this.processStyles(document.stylesPart.styles);\n result.push(...this.renderStyles(document.stylesPart.styles));\n }\n if (document.numberingPart) {\n this.prodessNumberings(document.numberingPart.domNumberings);\n result.push(...await this.renderNumbering(document.numberingPart.domNumberings));\n }\n if (document.footnotesPart) {\n this.footnoteMap = keyBy(document.footnotesPart.notes, x => x.id);\n }\n if (document.endnotesPart) {\n this.endnoteMap = keyBy(document.endnotesPart.notes, x => x.id);\n }\n if (document.settingsPart) {\n this.defaultTabSize = document.settingsPart.settings?.defaultTabStop;\n }\n if (!options.ignoreFonts && document.fontTablePart)\n result.push(...await this.renderFontTable(document.fontTablePart));\n var sectionElements = this.renderSections(document.documentPart.body);\n if (this.options.inWrapper) {\n result.push(this.renderWrapper(sectionElements));\n }\n else {\n result.push(...sectionElements);\n }\n if (this.commentHighlight && options.renderComments) {\n CSS.highlights.set(`${this.className}-comments`, this.commentHighlight);\n }\n this.postRenderTasks.forEach(t => t());\n await Promise.allSettled(this.tasks);\n this.refreshTabStops();\n return result;\n }\n renderTheme(themePart) {\n const variables = {};\n const fontScheme = themePart.theme?.fontScheme;\n if (fontScheme) {\n if (fontScheme.majorFont) {\n variables['--docx-majorHAnsi-font'] = fontScheme.majorFont.latinTypeface;\n }\n if (fontScheme.minorFont) {\n variables['--docx-minorHAnsi-font'] = fontScheme.minorFont.latinTypeface;\n }\n }\n const colorScheme = themePart.theme?.colorScheme;\n if (colorScheme) {\n for (let [k, v] of Object.entries(colorScheme.colors)) {\n variables[`--docx-${k}-color`] = `#${v}`;\n }\n }\n const cssText = this.styleToString(`.${this.className}`, variables);\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs document theme values\"] }),\n this.h({ tagName: \"style\", children: [cssText] })\n ];\n }\n async renderFontTable(fontsPart) {\n const result = [];\n for (let f of fontsPart.fonts) {\n for (let ref of f.embedFontRefs) {\n try {\n const fontData = await this.document.loadFont(ref.id, ref.key);\n const cssValues = {\n 'font-family': encloseFontFamily(f.name),\n 'src': `url(${fontData})`\n };\n if (ref.type == \"bold\" || ref.type == \"boldItalic\") {\n cssValues['font-weight'] = 'bold';\n }\n if (ref.type == \"italic\" || ref.type == \"boldItalic\") {\n cssValues['font-style'] = 'italic';\n }\n result.push(this.h({ tagName: \"#comment\", children: [`docxjs ${f.name} font`] }));\n result.push(this.h({ tagName: \"style\", children: [this.styleToString(`@font-face`, cssValues)] }));\n }\n catch (e) {\n if (this.options.debug)\n console.warn(`Can't load font with id ${ref.id} and key ${ref.key}`);\n }\n }\n }\n return result;\n }\n processStyleName(className) {\n return className ? `${this.className}_${escapeClassName(className)}` : this.className;\n }\n processStyles(styles) {\n const stylesMap = keyBy(styles.filter(x => x.id != null), x => x.id);\n for (const style of styles.filter(x => x.basedOn)) {\n var baseStyle = stylesMap[style.basedOn];\n if (baseStyle) {\n style.paragraphProps = mergeDeep(style.paragraphProps, baseStyle.paragraphProps);\n style.runProps = mergeDeep(style.runProps, baseStyle.runProps);\n for (const baseValues of baseStyle.styles) {\n const styleValues = style.styles.find(x => x.target == baseValues.target);\n if (styleValues) {\n this.copyStyleProperties(baseValues.values, styleValues.values);\n }\n else {\n style.styles.push({ ...baseValues, values: { ...baseValues.values } });\n }\n }\n }\n else if (this.options.debug)\n console.warn(`Can't find base style ${style.basedOn}`);\n }\n for (let style of styles) {\n style.cssName = this.processStyleName(style.id);\n }\n return stylesMap;\n }\n prodessNumberings(numberings) {\n for (let num of numberings.filter(n => n.pStyleName)) {\n const style = this.findStyle(num.pStyleName);\n if (style?.paragraphProps?.numbering) {\n style.paragraphProps.numbering.level = num.level;\n }\n }\n }\n processElement(element) {\n if (element.children) {\n for (var e of element.children) {\n e.parent = element;\n if (e.type == DomType.Table) {\n this.processTable(e);\n }\n else {\n this.processElement(e);\n }\n }\n }\n }\n processTable(table) {\n for (var r of table.children) {\n for (var c of r.children) {\n c.cssStyle = this.copyStyleProperties(table.cellStyle, c.cssStyle, [\n \"border-left\", \"border-right\", \"border-top\", \"border-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"padding-bottom\"\n ]);\n this.processElement(c);\n }\n }\n }\n copyStyleProperties(input, output, attrs = null) {\n if (!input)\n return output;\n if (output == null)\n output = {};\n if (attrs == null)\n attrs = Object.getOwnPropertyNames(input);\n for (var key of attrs) {\n if (input.hasOwnProperty(key) && !output.hasOwnProperty(key))\n output[key] = input[key];\n }\n return output;\n }\n createPageElement(className, props, docStyle) {\n const style = { ...docStyle };\n if (props) {\n if (props.pageMargins) {\n style.paddingLeft = props.pageMargins.left;\n style.paddingRight = props.pageMargins.right;\n style.paddingTop = props.pageMargins.top;\n style.paddingBottom = props.pageMargins.bottom;\n }\n if (props.pageSize) {\n if (!this.options.ignoreWidth)\n style.width = props.pageSize.width;\n if (!this.options.ignoreHeight)\n style.minHeight = props.pageSize.height;\n }\n }\n return this.h({ tagName: \"section\", className, style });\n }\n createSectionContent(props) {\n const style = {};\n if (props.columns && props.columns.numberOfColumns) {\n style.columnCount = `${props.columns.numberOfColumns}`;\n style.columnGap = props.columns.space;\n if (props.columns.separator) {\n style.columnRule = \"1px solid black\";\n }\n }\n return this.h({ tagName: \"article\", style });\n }\n renderSections(document) {\n const result = [];\n this.processElement(document);\n const sections = this.splitBySection(document.children, document.props);\n const pages = this.groupByPageBreaks(sections);\n let prevProps = null;\n for (let i = 0, l = pages.length; i < l; i++) {\n this.currentFootnoteIds = [];\n const section = pages[i][0];\n let props = section.sectProps;\n const pageElement = this.createPageElement(this.className, props, document.cssStyle);\n this.options.renderHeaders && this.renderHeaderFooter(props.headerRefs, props, result.length, prevProps != props, pageElement);\n for (const sect of pages[i]) {\n var contentElement = this.createSectionContent(sect.sectProps);\n this.renderElements(sect.elements, contentElement);\n pageElement.appendChild(contentElement);\n props = sect.sectProps;\n }\n if (this.options.renderFootnotes) {\n const notes = this.renderNotes(this.currentFootnoteIds, this.footnoteMap);\n notes && pageElement.appendChild(notes);\n }\n if (this.options.renderEndnotes && i == l - 1) {\n const notes = this.renderNotes(this.currentEndnoteIds, this.endnoteMap);\n notes && pageElement.appendChild(notes);\n }\n this.options.renderFooters && this.renderHeaderFooter(props.footerRefs, props, result.length, prevProps != props, pageElement);\n result.push(pageElement);\n prevProps = props;\n }\n return result;\n }\n renderHeaderFooter(refs, props, page, firstOfSection, into) {\n if (!refs)\n return;\n var ref = (props.titlePage && firstOfSection ? refs.find(x => x.type == \"first\") : null)\n ?? (page % 2 == 1 ? refs.find(x => x.type == \"even\") : null)\n ?? refs.find(x => x.type == \"default\");\n var part = ref && this.document.findPartByRelId(ref.id, this.document.documentPart);\n if (part) {\n this.currentPart = part;\n if (!this.usedHederFooterParts.includes(part.path)) {\n this.processElement(part.rootElement);\n this.usedHederFooterParts.push(part.path);\n }\n const [el] = this.renderElements([part.rootElement], into);\n if (props?.pageMargins) {\n if (part.rootElement.type === DomType.Header) {\n el.style.marginTop = `calc(${props.pageMargins.header} - ${props.pageMargins.top})`;\n el.style.minHeight = `calc(${props.pageMargins.top} - ${props.pageMargins.header})`;\n }\n else if (part.rootElement.type === DomType.Footer) {\n el.style.marginBottom = `calc(${props.pageMargins.footer} - ${props.pageMargins.bottom})`;\n el.style.minHeight = `calc(${props.pageMargins.bottom} - ${props.pageMargins.footer})`;\n }\n }\n this.currentPart = null;\n }\n }\n isPageBreakElement(elem) {\n if (elem.type != DomType.Break)\n return false;\n if (elem.break == \"lastRenderedPageBreak\")\n return !this.options.ignoreLastRenderedPageBreak;\n return elem.break == \"page\";\n }\n isPageBreakSection(prev, next) {\n if (!prev)\n return false;\n if (!next)\n return false;\n return prev.pageSize?.orientation != next.pageSize?.orientation\n || prev.pageSize?.width != next.pageSize?.width\n || prev.pageSize?.height != next.pageSize?.height;\n }\n splitBySection(elements, defaultProps) {\n var current = { sectProps: null, elements: [], pageBreak: false };\n var result = [current];\n for (let elem of elements) {\n if (elem.type == DomType.Paragraph) {\n const s = this.findStyle(elem.styleName);\n if (s?.paragraphProps?.pageBreakBefore) {\n current.sectProps = sectProps;\n current.pageBreak = true;\n current = { sectProps: null, elements: [], pageBreak: false };\n result.push(current);\n }\n }\n current.elements.push(elem);\n if (elem.type == DomType.Paragraph) {\n const p = elem;\n var sectProps = p.sectionProps;\n var pBreakIndex = -1;\n var rBreakIndex = -1;\n if (this.options.breakPages && p.children) {\n pBreakIndex = p.children.findIndex(r => {\n rBreakIndex = r.children?.findIndex(this.isPageBreakElement.bind(this)) ?? -1;\n return rBreakIndex != -1;\n });\n }\n if (sectProps || pBreakIndex != -1) {\n current.sectProps = sectProps;\n current.pageBreak = pBreakIndex != -1;\n current = { sectProps: null, elements: [], pageBreak: false };\n result.push(current);\n }\n if (pBreakIndex != -1) {\n let breakRun = p.children[pBreakIndex];\n let splitRun = rBreakIndex < breakRun.children.length - 1;\n if (pBreakIndex < p.children.length - 1 || splitRun) {\n var children = elem.children;\n var newParagraph = { ...elem, children: children.slice(pBreakIndex) };\n elem.children = children.slice(0, pBreakIndex);\n current.elements.push(newParagraph);\n if (splitRun) {\n let runChildren = breakRun.children;\n let newRun = { ...breakRun, children: runChildren.slice(0, rBreakIndex) };\n elem.children.push(newRun);\n breakRun.children = runChildren.slice(rBreakIndex);\n }\n }\n }\n }\n }\n let currentSectProps = null;\n for (let i = result.length - 1; i >= 0; i--) {\n if (result[i].sectProps == null) {\n result[i].sectProps = currentSectProps ?? defaultProps;\n }\n else {\n currentSectProps = result[i].sectProps;\n }\n }\n return result;\n }\n groupByPageBreaks(sections) {\n let current = [];\n let prev;\n const result = [current];\n for (let s of sections) {\n current.push(s);\n if (this.options.ignoreLastRenderedPageBreak || s.pageBreak || this.isPageBreakSection(prev, s.sectProps))\n result.push(current = []);\n prev = s.sectProps;\n }\n return result.filter(x => x.length > 0);\n }\n renderWrapper(children) {\n return this.h({ tagName: \"div\", className: `${this.className}-wrapper`, children });\n }\n renderDefaultStyle() {\n var c = this.className;\n var wrapperStyle = `\r\n.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } \r\n.${c}-wrapper>section.${c} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`;\n if (this.options.hideWrapperOnPrint) {\n wrapperStyle = `@media not print { ${wrapperStyle} }`;\n }\n var styleText = `${wrapperStyle}\r\n.${c} { color: black; hyphens: auto; text-underline-position: from-font; }\r\nsection.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; }\r\nsection.${c}>article { margin-bottom: auto; z-index: 1; }\r\nsection.${c}>footer { z-index: 1; }\r\n.${c} table { border-collapse: collapse; }\r\n.${c} table td, .${c} table th { vertical-align: top; }\r\n.${c} p { margin: 0pt; min-height: 1em; }\r\n.${c} span { white-space: pre-wrap; overflow-wrap: break-word; }\r\n.${c} a { color: inherit; text-decoration: inherit; }\r\n.${c} svg { fill: transparent; }\r\n`;\n if (this.options.renderComments) {\n styleText += `\r\n.${c}-comment-ref { cursor: default; }\r\n.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\r\n.${c}-comment-ref:hover~.${c}-comment-popover { display: block; }\r\n.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; }\r\n`;\n }\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs library predefined styles\"] }),\n this.h({ tagName: \"style\", children: [styleText] })\n ];\n }\n async renderNumbering(numberings) {\n var styleText = \"\";\n var resetCounters = [];\n for (var num of numberings) {\n var selector = `p.${this.numberingClass(num.id, num.level)}`;\n var listStyleType = \"none\";\n if (num.bullet) {\n let valiable = `--${this.className}-${num.bullet.src}`.toLowerCase();\n styleText += this.styleToString(`${selector}:before`, {\n \"content\": \"' '\",\n \"display\": \"inline-block\",\n \"background\": `var(${valiable})`\n }, num.bullet.style);\n try {\n const imgData = await this.document.loadNumberingImage(num.bullet.src);\n styleText += `${this.rootSelector} { ${valiable}: url(${imgData}) }`;\n }\n catch (e) {\n if (this.options.debug)\n console.warn(`Can't load numbering image with src ${num.bullet.src}`);\n }\n }\n else if (num.levelText) {\n let counter = this.numberingCounter(num.id, num.level);\n const counterReset = counter + \" \" + (num.start - 1);\n if (num.level > 0) {\n styleText += this.styleToString(`p.${this.numberingClass(num.id, num.level - 1)}`, {\n \"counter-set\": counterReset\n });\n }\n resetCounters.push(counterReset);\n styleText += this.styleToString(`${selector}:before`, {\n \"content\": this.levelTextToContent(num.levelText, num.suff, num.id, this.numFormatToCssValue(num.format)),\n \"counter-increment\": counter,\n ...num.rStyle,\n });\n }\n else {\n listStyleType = this.numFormatToCssValue(num.format);\n }\n styleText += this.styleToString(selector, {\n \"display\": \"list-item\",\n \"list-style-position\": \"inside\",\n \"list-style-type\": listStyleType,\n ...num.pStyle\n });\n }\n if (resetCounters.length > 0) {\n styleText += this.styleToString(this.rootSelector, {\n \"counter-reset\": resetCounters.join(\" \")\n });\n }\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs document numbering styles\"] }),\n this.h({ tagName: \"style\", children: [styleText] })\n ];\n }\n renderStyles(styles) {\n var styleText = \"\";\n const stylesMap = this.styleMap;\n const defautStyles = keyBy(styles.filter(s => s.isDefault), s => s.target);\n for (const style of styles) {\n var subStyles = style.styles;\n if (style.linked) {\n var linkedStyle = style.linked && stylesMap[style.linked];\n if (linkedStyle)\n subStyles = subStyles.concat(linkedStyle.styles);\n else if (this.options.debug)\n console.warn(`Can't find linked style ${style.linked}`);\n }\n for (const subStyle of subStyles) {\n var selector = `${style.target ?? ''}.${style.cssName}`;\n if (style.target != subStyle.target)\n selector += ` ${subStyle.target}`;\n if (defautStyles[style.target] == style)\n selector = `.${this.className} ${style.target}, ` + selector;\n styleText += this.styleToString(selector, subStyle.values);\n }\n }\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs document styles\"] }),\n this.h({ tagName: \"style\", children: [styleText] })\n ];\n }\n renderNotes(noteIds, notesMap) {\n var notes = noteIds.map(id => notesMap[id]).filter(x => x);\n if (notes.length > 0) {\n return this.h({ tagName: \"ol\", children: this.renderElements(notes) });\n }\n }\n renderElement(elem) {\n switch (elem.type) {\n case DomType.Paragraph:\n return this.renderParagraph(elem);\n case DomType.BookmarkStart:\n return this.renderBookmarkStart(elem);\n case DomType.BookmarkEnd:\n return null;\n case DomType.Run:\n return this.renderRun(elem);\n case DomType.Table:\n return this.renderTable(elem);\n case DomType.Row:\n return this.renderTableRow(elem);\n case DomType.Cell:\n return this.renderTableCell(elem);\n case DomType.Hyperlink:\n return this.renderHyperlink(elem);\n case DomType.SmartTag:\n return this.renderSmartTag(elem);\n case DomType.Drawing:\n return this.renderDrawing(elem);\n case DomType.Image:\n return this.renderImage(elem);\n case DomType.Text:\n return this.renderText(elem);\n case DomType.Text:\n return this.renderText(elem);\n case DomType.DeletedText:\n return this.renderDeletedText(elem);\n case DomType.Tab:\n return this.renderTab(elem);\n case DomType.Symbol:\n return this.renderSymbol(elem);\n case DomType.Break:\n return this.renderBreak(elem);\n case DomType.Footer:\n return this.renderContainer(elem, \"footer\");\n case DomType.Header:\n return this.renderContainer(elem, \"header\");\n case DomType.Footnote:\n case DomType.Endnote:\n return this.renderContainer(elem, \"li\");\n case DomType.FootnoteReference:\n return this.renderFootnoteReference(elem);\n case DomType.EndnoteReference:\n return this.renderEndnoteReference(elem);\n case DomType.NoBreakHyphen:\n return this.h({ tagName: \"wbr\" });\n case DomType.VmlPicture:\n return this.renderVmlPicture(elem);\n case DomType.VmlElement:\n return this.renderVmlElement(elem);\n case DomType.MmlMath:\n return this.renderContainerNS(elem, ns.mathML, \"math\", { xmlns: ns.mathML });\n case DomType.MmlMathParagraph:\n return this.renderContainer(elem, \"span\");\n case DomType.MmlFraction:\n return this.renderContainerNS(elem, ns.mathML, \"mfrac\");\n case DomType.MmlBase:\n return this.renderContainerNS(elem, ns.mathML, elem.parent.type == DomType.MmlMatrixRow ? \"mtd\" : \"mrow\");\n case DomType.MmlNumerator:\n case DomType.MmlDenominator:\n case DomType.MmlFunction:\n case DomType.MmlLimit:\n case DomType.MmlBox:\n return this.renderContainerNS(elem, ns.mathML, \"mrow\");\n case DomType.MmlGroupChar:\n return this.renderMmlGroupChar(elem);\n case DomType.MmlLimitLower:\n return this.renderContainerNS(elem, ns.mathML, \"munder\");\n case DomType.MmlMatrix:\n return this.renderContainerNS(elem, ns.mathML, \"mtable\");\n case DomType.MmlMatrixRow:\n return this.renderContainerNS(elem, ns.mathML, \"mtr\");\n case DomType.MmlRadical:\n return this.renderMmlRadical(elem);\n case DomType.MmlSuperscript:\n return this.renderContainerNS(elem, ns.mathML, \"msup\");\n case DomType.MmlSubscript:\n return this.renderContainerNS(elem, ns.mathML, \"msub\");\n case DomType.MmlDegree:\n case DomType.MmlSuperArgument:\n case DomType.MmlSubArgument:\n return this.renderContainerNS(elem, ns.mathML, \"mn\");\n case DomType.MmlFunctionName:\n return this.renderContainerNS(elem, ns.mathML, \"ms\");\n case DomType.MmlDelimiter:\n return this.renderMmlDelimiter(elem);\n case DomType.MmlRun:\n return this.renderMmlRun(elem);\n case DomType.MmlNary:\n return this.renderMmlNary(elem);\n case DomType.MmlPreSubSuper:\n return this.renderMmlPreSubSuper(elem);\n case DomType.MmlBar:\n return this.renderMmlBar(elem);\n case DomType.MmlEquationArray:\n return this.renderMllList(elem);\n case DomType.Inserted:\n return this.renderInserted(elem);\n case DomType.Deleted:\n return this.renderDeleted(elem);\n case DomType.CommentRangeStart:\n return this.renderCommentRangeStart(elem);\n case DomType.CommentRangeEnd:\n return this.renderCommentRangeEnd(elem);\n case DomType.CommentReference:\n return this.renderCommentReference(elem);\n case DomType.AltChunk:\n return this.renderAltChunk(elem);\n }\n return null;\n }\n renderElements(elems, into) {\n if (elems == null)\n return null;\n var result = elems.flatMap(e => this.renderElement(e)).filter(e => e != null);\n if (into)\n result.forEach(c => into.appendChild(isString(c) ? document.createTextNode(c) : c));\n return result;\n }\n renderContainer(elem, tagName, props) {\n return this.h({ tagName, children: this.renderElements(elem.children), ...props });\n }\n renderContainerNS(elem, ns, tagName, props) {\n return this.h({ ns, tagName, children: this.renderElements(elem.children), ...props });\n }\n renderParagraph(elem) {\n var result = this.toHTML(elem, ns.html, \"p\");\n const style = this.findStyle(elem.styleName);\n elem.tabs ?? (elem.tabs = style?.paragraphProps?.tabs);\n const numbering = elem.numbering ?? style?.paragraphProps?.numbering;\n if (numbering) {\n result.classList.add(this.numberingClass(numbering.id, numbering.level));\n }\n return result;\n }\n renderHyperlink(elem) {\n const res = this.toH(elem, ns.html, \"a\");\n res.href = '';\n if (elem.id) {\n const rel = this.document.documentPart.rels.find(it => it.id == elem.id && it.targetMode === \"External\");\n res.href = rel?.target ?? res.href;\n }\n if (elem.anchor) {\n res.href += `#${elem.anchor}`;\n }\n return this.h(res);\n }\n renderSmartTag(elem) {\n return this.renderContainer(elem, \"span\");\n }\n renderCommentRangeStart(commentStart) {\n if (!this.options.renderComments)\n return null;\n const rng = new Range();\n this.commentHighlight?.add(rng);\n const result = this.h({ tagName: \"#comment\", children: [`start of comment #${commentStart.id}`] });\n this.later(() => rng.setStart(result, 0));\n this.commentMap[commentStart.id] = rng;\n return result;\n }\n renderCommentRangeEnd(commentEnd) {\n if (!this.options.renderComments)\n return null;\n const rng = this.commentMap[commentEnd.id];\n const result = this.h({ tagName: \"#comment\", children: [`end of comment #${commentEnd.id}`] });\n this.later(() => rng?.setEnd(result, 0));\n return result;\n }\n renderCommentReference(commentRef) {\n if (!this.options.renderComments)\n return null;\n var comment = this.document.commentsPart?.commentMap[commentRef.id];\n if (!comment)\n return null;\n const commentRefEl = this.h({ tagName: \"span\", className: `${this.className}-comment-ref`, children: ['💬'] });\n const commentsContainerEl = this.h({\n tagName: \"div\", className: `${this.className}-comment-popover`, children: [\n this.h({ tagName: 'div', className: `${this.className}-comment-author`, children: [comment.author] }),\n this.h({ tagName: 'div', className: `${this.className}-comment-date`, children: [new Date(comment.date).toLocaleString()] }),\n ...this.renderElements(comment.children)\n ]\n });\n return this.h({ tagName: \"#fragment\", children: [\n this.h({ tagName: \"#comment\", children: [`comment #${comment.id} by ${comment.author} on ${comment.date}`] }),\n commentRefEl,\n commentsContainerEl\n ] });\n }\n renderAltChunk(elem) {\n if (!this.options.renderAltChunks)\n return null;\n var result = this.h({ tagName: \"iframe\" });\n this.tasks.push(this.document.loadAltChunk(elem.id, this.currentPart).then(x => {\n result.srcdoc = x;\n }));\n return result;\n }\n renderDrawing(elem) {\n var result = this.toHTML(elem, ns.html, \"div\");\n result.style.display = \"inline-block\";\n result.style.position = \"relative\";\n result.style.textIndent = \"0px\";\n return result;\n }\n renderImage(elem) {\n let result = this.toHTML(elem, ns.html, \"img\", []);\n let transform = elem.cssStyle?.transform;\n if (elem.srcRect && elem.srcRect.some(x => x != 0)) {\n var [left, top, right, bottom] = elem.srcRect;\n transform = `scale(${1 / (1 - left - right)}, ${1 / (1 - top - bottom)})`;\n result.style['clip-path'] = `rect(${(100 * top).toFixed(2)}% ${(100 * (1 - right)).toFixed(2)}% ${(100 * (1 - bottom)).toFixed(2)}% ${(100 * left).toFixed(2)}%)`;\n }\n if (elem.rotation)\n transform = `rotate(${elem.rotation}deg) ${transform ?? ''}`;\n result.style.transform = transform?.trim();\n if (this.document) {\n this.tasks.push(this.document.loadDocumentImage(elem.src, this.currentPart).then(x => {\n result.src = x;\n }));\n }\n return result;\n }\n renderText(elem) {\n return this.h(elem.text);\n }\n renderDeletedText(elem) {\n return this.options.renderChanges ? this.renderText(elem) : null;\n }\n renderBreak(elem) {\n return elem.break == \"textWrapping\" ? this.h({ tagName: \"br\" }) : null;\n }\n renderInserted(elem) {\n if (this.options.renderChanges)\n return this.renderChange(elem, \"ins\");\n return this.renderElements(elem.children);\n }\n renderDeleted(elem) {\n if (this.options.renderChanges)\n return this.renderChange(elem, \"del\");\n return null;\n }\n renderChange(elem, tag) {\n return this.renderContainer(elem, tag, {\n dateTime: elem.date\n });\n }\n renderSymbol(elem) {\n return this.h({ tagName: \"span\", children: [String.fromCharCode(elem.char)], style: { fontFamily: elem.font } });\n }\n renderFootnoteReference(elem) {\n this.currentFootnoteIds.push(elem.id);\n return this.h({ tagName: \"sup\", children: [`${this.currentFootnoteIds.length}`] });\n }\n renderEndnoteReference(elem) {\n this.currentEndnoteIds.push(elem.id);\n return this.h({ tagName: \"sup\", children: [`${this.currentEndnoteIds.length}`] });\n }\n renderTab(elem) {\n var tabSpan = this.h({ tagName: \"span\", children: [\"\\u2003\"] });\n if (this.options.experimental) {\n tabSpan.className = this.tabStopClass();\n var stops = findParent(elem, DomType.Paragraph)?.tabs;\n this.currentTabs.push({ stops, span: tabSpan });\n }\n return tabSpan;\n }\n renderBookmarkStart(elem) {\n return this.h({ tagName: \"span\", id: elem.name });\n }\n renderRun(elem) {\n if (elem.fieldRun)\n return null;\n let children = this.renderElements(elem.children);\n if (elem.verticalAlign) {\n children = [this.h({ tagName: elem.verticalAlign, children: this.renderElements(elem.children) })];\n }\n const result = this.toHTML(elem, ns.html, \"span\", children);\n if (elem.id)\n result.id = elem.id;\n return result;\n }\n renderTable(elem) {\n this.tableCellPositions.push(this.currentCellPosition);\n this.tableVerticalMerges.push(this.currentVerticalMerge);\n this.currentVerticalMerge = {};\n this.currentCellPosition = { col: 0, row: 0 };\n const children = [];\n if (elem.columns)\n children.push(this.renderTableColumns(elem.columns));\n children.push(...this.renderElements(elem.children));\n this.currentVerticalMerge = this.tableVerticalMerges.pop();\n this.currentCellPosition = this.tableCellPositions.pop();\n return this.toHTML(elem, ns.html, \"table\", children);\n }\n renderTableColumns(columns) {\n const children = columns.map(x => this.h({ tagName: \"col\", style: { width: x.width } }));\n return this.h({ tagName: \"colgroup\", children });\n }\n renderTableRow(elem) {\n this.currentCellPosition.col = 0;\n const children = [];\n if (elem.gridBefore)\n children.push(this.renderTableCellPlaceholder(elem.gridBefore));\n children.push(...this.renderElements(elem.children));\n if (elem.gridAfter)\n children.push(this.renderTableCellPlaceholder(elem.gridAfter));\n this.currentCellPosition.row++;\n return this.toHTML(elem, ns.html, \"tr\", children);\n }\n renderTableCellPlaceholder(colSpan) {\n return this.h({ tagName: \"td\", colSpan, style: { border: \"none\" } });\n }\n renderTableCell(elem) {\n let result = this.toHTML(elem, ns.html, \"td\");\n const key = this.currentCellPosition.col;\n if (elem.verticalMerge) {\n if (elem.verticalMerge == \"restart\") {\n this.currentVerticalMerge[key] = result;\n result.rowSpan = 1;\n }\n else if (this.currentVerticalMerge[key]) {\n this.currentVerticalMerge[key].rowSpan += 1;\n result.style.display = \"none\";\n }\n }\n else {\n this.currentVerticalMerge[key] = null;\n }\n if (elem.span)\n result.colSpan = elem.span;\n this.currentCellPosition.col += result.colSpan;\n return result;\n }\n renderVmlPicture(elem) {\n return this.renderContainer(elem, \"div\");\n }\n renderVmlElement(elem) {\n var container = this.h({ ns: ns.svg, tagName: \"svg\", style: elem.cssStyleText });\n const result = this.renderVmlChildElement(elem);\n if (elem.imageHref?.id) {\n this.tasks.push(this.document?.loadDocumentImage(elem.imageHref.id, this.currentPart)\n .then(x => result.setAttribute(\"href\", x)));\n }\n container.appendChild(result);\n requestAnimationFrame(() => {\n const bb = container.firstElementChild.getBBox();\n container.setAttribute(\"width\", `${Math.ceil(bb.x + bb.width)}`);\n container.setAttribute(\"height\", `${Math.ceil(bb.y + bb.height)}`);\n });\n return container;\n }\n renderVmlChildElement(elem) {\n const result = this.createSvgElement(elem.tagName);\n Object.entries(elem.attrs).forEach(([k, v]) => result.setAttribute(k, v));\n for (let child of elem.children) {\n if (child.type == DomType.VmlElement) {\n result.appendChild(this.renderVmlChildElement(child));\n }\n else {\n result.appendChild(...asArray(this.renderElement(child)));\n }\n }\n return result;\n }\n renderMmlRadical(elem) {\n const base = elem.children.find(el => el.type == DomType.MmlBase);\n if (elem.props?.hideDegree) {\n return this.createMathMLElement(\"msqrt\", null, this.renderElements([base]));\n }\n const degree = elem.children.find(el => el.type == DomType.MmlDegree);\n return this.createMathMLElement(\"mroot\", null, this.renderElements([base, degree]));\n }\n renderMmlDelimiter(elem) {\n const children = [];\n children.push(this.createMathMLElement(\"mo\", null, [elem.props.beginChar ?? '(']));\n children.push(...this.renderElements(elem.children));\n children.push(this.createMathMLElement(\"mo\", null, [elem.props.endChar ?? ')']));\n return this.createMathMLElement(\"mrow\", null, children);\n }\n renderMmlNary(elem) {\n const children = [];\n const grouped = keyBy(elem.children, x => x.type);\n const sup = grouped[DomType.MmlSuperArgument];\n const sub = grouped[DomType.MmlSubArgument];\n const supElem = sup ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sup))) : null;\n const subElem = sub ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sub))) : null;\n const charElem = this.createMathMLElement(\"mo\", null, [elem.props?.char ?? '\\u222B']);\n if (supElem || subElem) {\n children.push(this.createMathMLElement(\"munderover\", null, [charElem, subElem, supElem]));\n }\n else if (supElem) {\n children.push(this.createMathMLElement(\"mover\", null, [charElem, supElem]));\n }\n else if (subElem) {\n children.push(this.createMathMLElement(\"munder\", null, [charElem, subElem]));\n }\n else {\n children.push(charElem);\n }\n children.push(...this.renderElements(grouped[DomType.MmlBase].children));\n return this.createMathMLElement(\"mrow\", null, children);\n }\n renderMmlPreSubSuper(elem) {\n const children = [];\n const grouped = keyBy(elem.children, x => x.type);\n const sup = grouped[DomType.MmlSuperArgument];\n const sub = grouped[DomType.MmlSubArgument];\n const supElem = sup ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sup))) : null;\n const subElem = sub ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sub))) : null;\n const stubElem = this.createMathMLElement(\"mo\", null);\n children.push(this.createMathMLElement(\"msubsup\", null, [stubElem, subElem, supElem]));\n children.push(...this.renderElements(grouped[DomType.MmlBase].children));\n return this.createMathMLElement(\"mrow\", null, children);\n }\n renderMmlGroupChar(elem) {\n const tagName = elem.props.verticalJustification === \"bot\" ? \"mover\" : \"munder\";\n const result = this.renderContainerNS(elem, ns.mathML, tagName);\n if (elem.props.char) {\n result.appendChild(this.createMathMLElement(\"mo\", null, [elem.props.char]));\n }\n return result;\n }\n renderMmlBar(elem) {\n const style = {};\n switch (elem.props.position) {\n case \"top\":\n style.textDecoration = \"overline\";\n break;\n case \"bottom\":\n style.textDecoration = \"underline\";\n break;\n }\n return this.renderContainerNS(elem, ns.mathML, \"mrow\", { style });\n }\n renderMmlRun(elem) {\n return this.toHTML(elem, ns.mathML, \"ms\");\n }\n renderMllList(elem) {\n const children = this.renderElements(elem.children).map(x => this.createMathMLElement(\"mtr\", null, [\n this.createMathMLElement(\"mtd\", null, [x])\n ]));\n return this.toHTML(elem, ns.mathML, \"mtable\", children);\n }\n toH(elem, ns, tagName, children = null) {\n const { \"$lang\": lang, ...style } = elem.cssStyle ?? {};\n const className = cx(elem.className, elem.styleName && this.processStyleName(elem.styleName));\n return { ns, tagName, className, lang, style, children: children ?? this.renderElements(elem.children) };\n }\n toHTML(elem, ns, tagName, children = null) {\n return this.h(this.toH(elem, ns, tagName, children));\n }\n findStyle(styleName) {\n return styleName && this.styleMap?.[styleName];\n }\n numberingClass(id, lvl) {\n return `${this.className}-num-${id}-${lvl}`;\n }\n tabStopClass() {\n return `${this.className}-tab-stop`;\n }\n styleToString(selectors, values, cssText = null) {\n let result = `${selectors} {\\r\\n`;\n for (const key in values) {\n if (key.startsWith('$'))\n continue;\n result += ` ${key}: ${values[key]};\\r\\n`;\n }\n if (cssText)\n result += cssText;\n return result + \"}\\r\\n\";\n }\n numberingCounter(id, lvl) {\n return `${this.className}-num-${id}-${lvl}`;\n }\n levelTextToContent(text, suff, id, numformat) {\n const suffMap = {\n \"tab\": \"\\\\9\",\n \"space\": \"\\\\a0\",\n };\n var result = text.replace(/%\\d*/g, s => {\n let lvl = parseInt(s.substring(1), 10) - 1;\n return `\"counter(${this.numberingCounter(id, lvl)}, ${numformat})\"`;\n });\n return `\"${result}${suffMap[suff] ?? \"\"}\"`;\n }\n numFormatToCssValue(format) {\n var mapping = {\n none: \"none\",\n bullet: \"disc\",\n decimal: \"decimal\",\n lowerLetter: \"lower-alpha\",\n upperLetter: \"upper-alpha\",\n lowerRoman: \"lower-roman\",\n upperRoman: \"upper-roman\",\n decimalZero: \"decimal-leading-zero\",\n aiueo: \"katakana\",\n aiueoFullWidth: \"katakana\",\n chineseCounting: \"simp-chinese-informal\",\n chineseCountingThousand: \"simp-chinese-informal\",\n chineseLegalSimplified: \"simp-chinese-formal\",\n chosung: \"hangul-consonant\",\n ideographDigital: \"cjk-ideographic\",\n ideographTraditional: \"cjk-heavenly-stem\",\n ideographLegalTraditional: \"trad-chinese-formal\",\n ideographZodiac: \"cjk-earthly-branch\",\n iroha: \"katakana-iroha\",\n irohaFullWidth: \"katakana-iroha\",\n japaneseCounting: \"japanese-informal\",\n japaneseDigitalTenThousand: \"cjk-decimal\",\n japaneseLegal: \"japanese-formal\",\n thaiNumbers: \"thai\",\n koreanCounting: \"korean-hangul-formal\",\n koreanDigital: \"korean-hangul-formal\",\n koreanDigital2: \"korean-hanja-informal\",\n hebrew1: \"hebrew\",\n hebrew2: \"hebrew\",\n hindiNumbers: \"devanagari\",\n ganada: \"hangul\",\n taiwaneseCounting: \"cjk-ideographic\",\n taiwaneseCountingThousand: \"cjk-ideographic\",\n taiwaneseDigital: \"cjk-decimal\",\n };\n return mapping[format] ?? format;\n }\n refreshTabStops() {\n if (!this.options.experimental)\n return;\n setTimeout(() => {\n const pixelToPoint = computePixelToPoint();\n for (let tab of this.currentTabs) {\n updateTabStop(tab.span, tab.stops, this.defaultTabSize, pixelToPoint);\n }\n }, 500);\n }\n createElementNS(ns, tagName, props, children) {\n return this.h({ ns, tagName, children, ...props });\n }\n createElement(tagName, props, children) {\n return this.createElementNS(ns.html, tagName, props, children);\n }\n createMathMLElement(tagName, props, children) {\n return this.createElementNS(ns.mathML, tagName, props, children);\n }\n createSvgElement(tagName, props, children) {\n return this.createElementNS(ns.svg, tagName, props, children);\n }\n later(func) {\n this.postRenderTasks.push(func);\n }\n}\nfunction findParent(elem, type) {\n var parent = elem.parent;\n while (parent != null && parent.type != type)\n parent = parent.parent;\n return parent;\n}\n\nconst defaultOptions = {\n ignoreHeight: false,\n ignoreWidth: false,\n ignoreFonts: false,\n breakPages: true,\n debug: false,\n experimental: false,\n className: \"docx\",\n inWrapper: true,\n hideWrapperOnPrint: false,\n trimXmlDeclaration: true,\n ignoreLastRenderedPageBreak: true,\n renderHeaders: true,\n renderFooters: true,\n renderFootnotes: true,\n renderEndnotes: true,\n useBase64URL: false,\n renderChanges: false,\n renderComments: false,\n renderAltChunks: true,\n h: h\n};\nfunction parseAsync(data, userOptions) {\n const ops = { ...defaultOptions, ...userOptions };\n return WordDocument.load(data, new DocumentParser(ops), ops);\n}\nasync function renderDocument(document, userOptions) {\n const ops = { ...defaultOptions, ...userOptions };\n const renderer = new HtmlRenderer();\n return await renderer.render(document, ops);\n}\nasync function renderAsync(data, bodyContainer, styleContainer, userOptions) {\n const doc = await parseAsync(data, userOptions);\n const nodes = await renderDocument(doc, userOptions);\n styleContainer ?? (styleContainer = bodyContainer);\n styleContainer.innerHTML = \"\";\n bodyContainer.innerHTML = \"\";\n for (let n of nodes) {\n const c = n.nodeName === \"STYLE\" ? styleContainer : bodyContainer;\n c.appendChild(n);\n }\n return doc;\n}\n\nexport { defaultOptions, parseAsync, renderAsync, renderDocument };\n//# sourceMappingURL=docx-preview.mjs.map\n"],"names":["h","e","require","t","r","c","n","i","s","a","o","global","u","l","f","d","p","m","RelationshipTypes","SectionType","DomType","tabStops","ns","document","_a","values"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"docx-preview-CH7hwx62.js","sources":["../../node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js","../../node_modules/.pnpm/docx-preview@0.4.0/node_modules/docx-preview/dist/docx-preview.mjs"],"sourcesContent":["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo(\"string\",i(n));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on(\"error\",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){\"use strict\";var u=e(\"../compressions\"),n=e(\"./ZipFileWorker\");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo(\"file\",{name:e,dir:i,date:s,comment:t.comment||\"\",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){\"use strict\";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){\"use strict\";var u=e(\"./utils\"),i=e(\"./external\"),n=e(\"./utf8\"),s=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on(\"error\",function(e){t(e)}).on(\"end\",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error(\"Corrupted zip : CRC32 mismatch\")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):u.prepareContent(\"the loaded zip file\",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",function(e){t.push({data:e,meta:{percent:0}})}).on(\"error\",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on(\"end\",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){\"use strict\";var i=e(\"readable-stream\").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on(\"data\",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on(\"error\",function(e){n.emit(\"error\",e)}).on(\"end\",function(){n.push(null)})}e(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){\"use strict\";t.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){\"use strict\";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a=\"string\"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t=\"\",s.compression=\"STORE\",i=\"string\");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e(\"./utf8\"),u=e(\"./utils\"),l=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),f=e(\"./defaults\"),c=e(\"./compressedObject\"),d=e(\"./zipObject\"),o=e(\"./generate\"),p=e(\"./nodejsUtils\"),m=e(\"./nodejs/NodejsStreamInputAdapter\"),_=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},g=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||(\"/\"!==r.slice(-1)&&(r+=\"/\"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=o.generateWorker(this,r,n)}catch(e){(t=new l(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){\"use strict\";t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){\"use strict\";var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.end()}),e.on(\"error\",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return Buffer.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case\"blob\":case\"arraybuffer\":n=\"uint8array\";break;case\"base64\":n=\"string\"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s(\"error\"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,s){\"use strict\";for(var o=e(\"./utils\"),h=e(\"./support\"),r=e(\"./nodejsUtils\"),n=e(\"./stream/GenericWorker\"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){n.call(this,\"utf-8 encode\")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),a.newBlob=function(t,r){a.checkSupport(\"blob\");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if(\"uint8array\"===r?n=i.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||\"\",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},a.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&r.isBuffer(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(n)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?(\"arraybuffer\"===t?e=a.transformTo(\"uint8array\",e):\"string\"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),a=e(\"./zipEntry\"),o=e(\"./support\");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),s=e(\"./utils\"),i=e(\"./compressedObject\"),a=e(\"./crc32\"),o=e(\"./utf8\"),h=e(\"./compressions\"),u=e(\"./support\");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){\"use strict\";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e(\"./stream/StreamHelper\"),i=e(\"./stream/DataWorker\"),a=e(\"./utf8\"),o=e(\"./compressedObject\"),h=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h(\"error\")).error(e)}return new s(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,l,t){(function(t){\"use strict\";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){\"use strict\";var i=e(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],n=[\"PENDING\"];function o(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});\"error\"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if(\"error\"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){\"use strict\";var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){\"use strict\";var a=e(\"./zlib/deflate\"),o=e(\"./utils/common\"),h=e(\"./utils/strings\"),i=e(\"./zlib/messages\"),s=e(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n=\"string\"==typeof t.dictionary?h.string2buf(t.dictionary):\"[object ArrayBuffer]\"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,\"string\"==typeof e?i.input=h.string2buf(e):\"[object ArrayBuffer]\"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){\"use strict\";var c=e(\"./zlib/inflate\"),d=e(\"./utils/common\"),p=e(\"./utils/strings\"),m=e(\"./zlib/constants\"),n=e(\"./zlib/messages\"),i=e(\"./zlib/zstream\"),s=e(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof e?h.input=p.binstring2buf(e):\"[object ArrayBuffer]\"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){\"use strict\";var h=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){\"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}},{}],45:[function(e,t,r){\"use strict\";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){\"use strict\";t.exports=function(){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}},{}],48:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){\"use strict\";var I=e(\"../utils/common\"),O=e(\"./adler32\"),B=e(\"./crc32\"),R=e(\"./inffast\"),T=e(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){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 I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){\"use strict\";var D=e(\"../utils/common\"),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],N=[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],U=[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],P=[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(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(e,t,r){\"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\"}},{}],52:[function(e,t,r){\"use strict\";var i=e(\"../utils/common\"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){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}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&\"string\"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)});","/*\n * @license\n * docx-preview <https://github.com/VolodymyrBaydalka/docxjs>\n * Released under Apache License 2.0 <https://github.com/VolodymyrBaydalka/docxjs/blob/master/LICENSE>\n * Copyright Volodymyr Baydalka\n */\nimport JSZip from 'jszip';\n\nvar RelationshipTypes;\n(function (RelationshipTypes) {\n RelationshipTypes[\"OfficeDocument\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\";\n RelationshipTypes[\"FontTable\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\";\n RelationshipTypes[\"Image\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\";\n RelationshipTypes[\"Numbering\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\";\n RelationshipTypes[\"Styles\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\";\n RelationshipTypes[\"StylesWithEffects\"] = \"http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects\";\n RelationshipTypes[\"Theme\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\";\n RelationshipTypes[\"Settings\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\";\n RelationshipTypes[\"WebSettings\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings\";\n RelationshipTypes[\"Hyperlink\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\";\n RelationshipTypes[\"Footnotes\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes\";\n RelationshipTypes[\"Endnotes\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes\";\n RelationshipTypes[\"Footer\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\";\n RelationshipTypes[\"Header\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\";\n RelationshipTypes[\"ExtendedProperties\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\";\n RelationshipTypes[\"CoreProperties\"] = \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\";\n RelationshipTypes[\"CustomProperties\"] = \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties\";\n RelationshipTypes[\"Comments\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\";\n RelationshipTypes[\"CommentsExtended\"] = \"http://schemas.microsoft.com/office/2011/relationships/commentsExtended\";\n RelationshipTypes[\"AltChunk\"] = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk\";\n})(RelationshipTypes || (RelationshipTypes = {}));\nfunction parseRelationships(root, xml) {\n return xml.elements(root).map(e => ({\n id: xml.attr(e, \"Id\"),\n type: xml.attr(e, \"Type\"),\n target: xml.attr(e, \"Target\"),\n targetMode: xml.attr(e, \"TargetMode\")\n }));\n}\n\nfunction escapeClassName(className) {\n return className?.replace(/[ .]+/g, '-').replace(/[&]+/g, 'and').toLowerCase();\n}\nfunction encloseFontFamily(fontFamily) {\n return /^[^\"'].*\\s.*[^\"']$/.test(fontFamily) ? `'${fontFamily}'` : fontFamily;\n}\nfunction splitPath(path) {\n let si = path.lastIndexOf('/') + 1;\n let folder = si == 0 ? \"\" : path.substring(0, si);\n let fileName = si == 0 ? path : path.substring(si);\n return [folder, fileName];\n}\nfunction resolvePath(path, base) {\n try {\n const prefix = \"http://docx/\";\n const url = new URL(path, prefix + base).toString();\n return url.substring(prefix.length);\n }\n catch {\n return `${base}${path}`;\n }\n}\nfunction keyBy(array, by) {\n return array.reduce((a, x) => {\n a[by(x)] = x;\n return a;\n }, {});\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.onerror = () => reject();\n reader.readAsDataURL(blob);\n });\n}\nfunction isObject(item) {\n return item && typeof item === 'object' && !Array.isArray(item);\n}\nfunction isString(item) {\n return typeof item === 'string' || item instanceof String;\n}\nfunction mergeDeep(target, ...sources) {\n if (!sources.length)\n return target;\n const source = sources.shift();\n if (isObject(target) && isObject(source)) {\n for (const key in source) {\n if (isObject(source[key])) {\n const val = target[key] ?? (target[key] = {});\n mergeDeep(val, source[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n }\n return mergeDeep(target, ...sources);\n}\nfunction asArray(val) {\n return Array.isArray(val) ? val : [val];\n}\nfunction clamp(val, min, max) {\n return min > val ? min : (max < val ? max : val);\n}\n\nconst ns$1 = {\n wordml: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"};\nconst LengthUsage = {\n Dxa: { mul: 0.05, unit: \"pt\" },\n Emu: { mul: 1 / 12700, unit: \"pt\" },\n FontSize: { mul: 0.5, unit: \"pt\" },\n Border: { mul: 0.125, unit: \"pt\", min: 0.25, max: 12 },\n Point: { mul: 1, unit: \"pt\" },\n Percent: { mul: 0.02, unit: \"%\" }};\nfunction convertLength(val, usage = LengthUsage.Dxa) {\n if (val == null || /.+(p[xt]|[%])$/.test(val)) {\n return val;\n }\n var num = parseInt(val) * usage.mul;\n if (usage.min && usage.max)\n num = clamp(num, usage.min, usage.max);\n return `${num.toFixed(2)}${usage.unit}`;\n}\nfunction convertBoolean(v, defaultValue = false) {\n switch (v) {\n case \"1\": return true;\n case \"0\": return false;\n case \"on\": return true;\n case \"off\": return false;\n case \"true\": return true;\n case \"false\": return false;\n default: return defaultValue;\n }\n}\nfunction parseCommonProperty(elem, props, xml) {\n if (elem.namespaceURI != ns$1.wordml)\n return false;\n switch (elem.localName) {\n case \"color\":\n props.color = xml.attr(elem, \"val\");\n break;\n case \"sz\":\n props.fontSize = xml.lengthAttr(elem, \"val\", LengthUsage.FontSize);\n break;\n default:\n return false;\n }\n return true;\n}\n\nfunction parseXmlString(xmlString, trimXmlDeclaration = false) {\n if (trimXmlDeclaration)\n xmlString = xmlString.replace(/<[?].*[?]>/, \"\");\n xmlString = removeUTF8BOM(xmlString);\n const result = new DOMParser().parseFromString(xmlString, \"application/xml\");\n const errorText = hasXmlParserError(result);\n if (errorText)\n throw new Error(errorText);\n return result;\n}\nfunction hasXmlParserError(doc) {\n return doc.getElementsByTagName(\"parsererror\")[0]?.textContent;\n}\nfunction removeUTF8BOM(data) {\n return data.charCodeAt(0) === 0xFEFF ? data.substring(1) : data;\n}\nfunction serializeXmlString(elem) {\n return new XMLSerializer().serializeToString(elem);\n}\nclass XmlParser {\n elements(elem, localName = null) {\n const result = [];\n for (let i = 0, l = elem.childNodes.length; i < l; i++) {\n let c = elem.childNodes.item(i);\n if (c.nodeType == Node.ELEMENT_NODE && (localName == null || c.localName == localName))\n result.push(c);\n }\n return result;\n }\n element(elem, localName) {\n for (let i = 0, l = elem.childNodes.length; i < l; i++) {\n let c = elem.childNodes.item(i);\n if (c.nodeType == 1 && c.localName == localName)\n return c;\n }\n return null;\n }\n elementAttr(elem, localName, attrLocalName) {\n var el = this.element(elem, localName);\n return el ? this.attr(el, attrLocalName) : undefined;\n }\n attrs(elem) {\n return Array.from(elem.attributes);\n }\n attr(elem, localName) {\n for (let i = 0, l = elem.attributes.length; i < l; i++) {\n let a = elem.attributes.item(i);\n if (a.localName == localName)\n return a.value;\n }\n return null;\n }\n intAttr(node, attrName, defaultValue = null) {\n var val = this.attr(node, attrName);\n return val ? parseInt(val) : defaultValue;\n }\n hexAttr(node, attrName, defaultValue = null) {\n var val = this.attr(node, attrName);\n return val ? parseInt(val, 16) : defaultValue;\n }\n floatAttr(node, attrName, defaultValue = null) {\n var val = this.attr(node, attrName);\n return val ? parseFloat(val) : defaultValue;\n }\n boolAttr(node, attrName, defaultValue = null) {\n return convertBoolean(this.attr(node, attrName), defaultValue);\n }\n lengthAttr(node, attrName, usage = LengthUsage.Dxa) {\n return convertLength(this.attr(node, attrName), usage);\n }\n}\nconst globalXmlParser = new XmlParser();\n\nclass Part {\n constructor(_package, path) {\n this._package = _package;\n this.path = path;\n }\n async load() {\n this.rels = await this._package.loadRelationships(this.path);\n const xmlText = await this._package.load(this.path);\n const xmlDoc = this._package.parseXmlDocument(xmlText);\n if (this._package.options.keepOrigin) {\n this._xmlDocument = xmlDoc;\n }\n this.parseXml(xmlDoc.firstElementChild);\n }\n save() {\n this._package.update(this.path, serializeXmlString(this._xmlDocument));\n }\n parseXml(root) {\n }\n}\n\nconst embedFontTypeMap = {\n embedRegular: 'regular',\n embedBold: 'bold',\n embedItalic: 'italic',\n embedBoldItalic: 'boldItalic',\n};\nfunction parseFonts(root, xml) {\n return xml.elements(root).map(el => parseFont(el, xml));\n}\nfunction parseFont(elem, xml) {\n let result = {\n name: xml.attr(elem, \"name\"),\n embedFontRefs: []\n };\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"family\":\n result.family = xml.attr(el, \"val\");\n break;\n case \"altName\":\n result.altName = xml.attr(el, \"val\");\n break;\n case \"embedRegular\":\n case \"embedBold\":\n case \"embedItalic\":\n case \"embedBoldItalic\":\n result.embedFontRefs.push(parseEmbedFontRef(el, xml));\n break;\n }\n }\n return result;\n}\nfunction parseEmbedFontRef(elem, xml) {\n return {\n id: xml.attr(elem, \"id\"),\n key: xml.attr(elem, \"fontKey\"),\n type: embedFontTypeMap[elem.localName]\n };\n}\n\nclass FontTablePart extends Part {\n parseXml(root) {\n this.fonts = parseFonts(root, this._package.xmlParser);\n }\n}\n\nfunction parseContentTypes(root, xml) {\n return xml.elements(root).map(e => ({\n extension: xml.attr(e, \"Extension\"),\n partName: xml.attr(e, \"PartName\"),\n contentType: xml.attr(e, \"ContentType\")\n }));\n}\n\nclass OpenXmlPackage {\n constructor(_zip, options) {\n this._zip = _zip;\n this.options = options;\n this.xmlParser = new XmlParser();\n }\n get(path) {\n const p = normalizePath(path);\n return this._zip.files[p] ?? this._zip.files[p.replace(/\\//g, '\\\\')];\n }\n update(path, content) {\n this._zip.file(path, content);\n }\n static async load(input, options) {\n const zip = await JSZip.loadAsync(input);\n return new OpenXmlPackage(zip, options);\n }\n save(type = \"blob\") {\n return this._zip.generateAsync({ type });\n }\n load(path, type = \"string\") {\n return this.get(path)?.async(type) ?? Promise.resolve(null);\n }\n async loadRelationships(path = null) {\n let relsPath = `_rels/.rels`;\n if (path != null) {\n const [f, fn] = splitPath(path);\n relsPath = `${f}_rels/${fn}.rels`;\n }\n const txt = await this.load(relsPath);\n return txt ? parseRelationships(this.parseXmlDocument(txt).firstElementChild, this.xmlParser) : null;\n }\n async loadContentTypes() {\n const txt = await this.load(\"[Content_Types].xml\");\n return txt ? parseContentTypes(this.parseXmlDocument(txt).firstElementChild, this.xmlParser) : [];\n }\n parseXmlDocument(txt) {\n return parseXmlString(txt, this.options.trimXmlDeclaration);\n }\n}\nfunction normalizePath(path) {\n return path.startsWith('/') ? path.substr(1) : path;\n}\n\nclass DocumentPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.body = this._documentParser.parseDocumentFile(root);\n }\n}\n\nfunction parseBorder(elem, xml) {\n return {\n type: xml.attr(elem, \"val\"),\n color: xml.attr(elem, \"color\"),\n size: xml.lengthAttr(elem, \"sz\", LengthUsage.Border),\n offset: xml.lengthAttr(elem, \"space\", LengthUsage.Point),\n frame: xml.boolAttr(elem, 'frame'),\n shadow: xml.boolAttr(elem, 'shadow')\n };\n}\nfunction parseBorders(elem, xml) {\n var result = {};\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"left\":\n result.left = parseBorder(e, xml);\n break;\n case \"top\":\n result.top = parseBorder(e, xml);\n break;\n case \"right\":\n result.right = parseBorder(e, xml);\n break;\n case \"bottom\":\n result.bottom = parseBorder(e, xml);\n break;\n }\n }\n return result;\n}\n\nvar SectionType;\n(function (SectionType) {\n SectionType[\"Continuous\"] = \"continuous\";\n SectionType[\"NextPage\"] = \"nextPage\";\n SectionType[\"NextColumn\"] = \"nextColumn\";\n SectionType[\"EvenPage\"] = \"evenPage\";\n SectionType[\"OddPage\"] = \"oddPage\";\n})(SectionType || (SectionType = {}));\nfunction parseSectionProperties(elem, xml = globalXmlParser) {\n var section = {};\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"pgSz\":\n section.pageSize = {\n width: xml.lengthAttr(e, \"w\"),\n height: xml.lengthAttr(e, \"h\"),\n orientation: xml.attr(e, \"orient\")\n };\n break;\n case \"type\":\n section.type = xml.attr(e, \"val\");\n break;\n case \"pgMar\":\n section.pageMargins = {\n left: xml.lengthAttr(e, \"left\"),\n right: xml.lengthAttr(e, \"right\"),\n top: xml.lengthAttr(e, \"top\"),\n bottom: xml.lengthAttr(e, \"bottom\"),\n header: xml.lengthAttr(e, \"header\"),\n footer: xml.lengthAttr(e, \"footer\"),\n gutter: xml.lengthAttr(e, \"gutter\"),\n };\n break;\n case \"cols\":\n section.columns = parseColumns(e, xml);\n break;\n case \"headerReference\":\n (section.headerRefs ?? (section.headerRefs = [])).push(parseFooterHeaderReference(e, xml));\n break;\n case \"footerReference\":\n (section.footerRefs ?? (section.footerRefs = [])).push(parseFooterHeaderReference(e, xml));\n break;\n case \"titlePg\":\n section.titlePage = xml.boolAttr(e, \"val\", true);\n break;\n case \"pgBorders\":\n section.pageBorders = parseBorders(e, xml);\n break;\n case \"pgNumType\":\n section.pageNumber = parsePageNumber(e, xml);\n break;\n }\n }\n return section;\n}\nfunction parseColumns(elem, xml) {\n return {\n numberOfColumns: xml.intAttr(elem, \"num\"),\n space: xml.lengthAttr(elem, \"space\"),\n separator: xml.boolAttr(elem, \"sep\"),\n equalWidth: xml.boolAttr(elem, \"equalWidth\", true),\n columns: xml.elements(elem, \"col\")\n .map(e => ({\n width: xml.lengthAttr(e, \"w\"),\n space: xml.lengthAttr(e, \"space\")\n }))\n };\n}\nfunction parsePageNumber(elem, xml) {\n return {\n chapSep: xml.attr(elem, \"chapSep\"),\n chapStyle: xml.attr(elem, \"chapStyle\"),\n format: xml.attr(elem, \"fmt\"),\n start: xml.intAttr(elem, \"start\")\n };\n}\nfunction parseFooterHeaderReference(elem, xml) {\n return {\n id: xml.attr(elem, \"id\"),\n type: xml.attr(elem, \"type\"),\n };\n}\n\nfunction parseLineSpacing(elem, xml) {\n return {\n before: xml.lengthAttr(elem, \"before\"),\n after: xml.lengthAttr(elem, \"after\"),\n line: xml.intAttr(elem, \"line\"),\n lineRule: xml.attr(elem, \"lineRule\")\n };\n}\n\nfunction parseRunProperties(elem, xml) {\n let result = {};\n for (let el of xml.elements(elem)) {\n parseRunProperty(el, result, xml);\n }\n return result;\n}\nfunction parseRunProperty(elem, props, xml) {\n if (parseCommonProperty(elem, props, xml))\n return true;\n return false;\n}\n\nfunction parseParagraphProperties(elem, xml) {\n let result = {};\n for (let el of xml.elements(elem)) {\n parseParagraphProperty(el, result, xml);\n }\n return result;\n}\nfunction parseParagraphProperty(elem, props, xml) {\n if (elem.namespaceURI != ns$1.wordml)\n return false;\n if (parseCommonProperty(elem, props, xml))\n return true;\n switch (elem.localName) {\n case \"tabs\":\n props.tabs = parseTabs(elem, xml);\n break;\n case \"sectPr\":\n props.sectionProps = parseSectionProperties(elem, xml);\n break;\n case \"numPr\":\n props.numbering = parseNumbering$1(elem, xml);\n break;\n case \"spacing\":\n props.lineSpacing = parseLineSpacing(elem, xml);\n return false;\n case \"textAlignment\":\n props.textAlignment = xml.attr(elem, \"val\");\n return false;\n case \"keepLines\":\n props.keepLines = xml.boolAttr(elem, \"val\", true);\n break;\n case \"keepNext\":\n props.keepNext = xml.boolAttr(elem, \"val\", true);\n break;\n case \"pageBreakBefore\":\n props.pageBreakBefore = xml.boolAttr(elem, \"val\", true);\n break;\n case \"outlineLvl\":\n props.outlineLevel = xml.intAttr(elem, \"val\");\n break;\n case \"pStyle\":\n props.styleName = xml.attr(elem, \"val\");\n break;\n case \"rPr\":\n props.runProps = parseRunProperties(elem, xml);\n break;\n default:\n return false;\n }\n return true;\n}\nfunction parseTabs(elem, xml) {\n return xml.elements(elem, \"tab\")\n .map(e => ({\n position: xml.lengthAttr(e, \"pos\"),\n leader: xml.attr(e, \"leader\"),\n style: xml.attr(e, \"val\")\n }));\n}\nfunction parseNumbering$1(elem, xml) {\n var result = {};\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"numId\":\n result.id = xml.attr(e, \"val\");\n break;\n case \"ilvl\":\n result.level = xml.intAttr(e, \"val\");\n break;\n }\n }\n return result;\n}\n\nfunction parseNumberingPart(elem, xml) {\n let result = {\n numberings: [],\n abstractNumberings: [],\n bulletPictures: []\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"num\":\n result.numberings.push(parseNumbering(e, xml));\n break;\n case \"abstractNum\":\n result.abstractNumberings.push(parseAbstractNumbering(e, xml));\n break;\n case \"numPicBullet\":\n result.bulletPictures.push(parseNumberingBulletPicture(e, xml));\n break;\n }\n }\n return result;\n}\nfunction parseNumbering(elem, xml) {\n let result = {\n id: xml.attr(elem, 'numId'),\n overrides: []\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"abstractNumId\":\n result.abstractId = xml.attr(e, \"val\");\n break;\n case \"lvlOverride\":\n result.overrides.push(parseNumberingLevelOverrride(e, xml));\n break;\n }\n }\n return result;\n}\nfunction parseAbstractNumbering(elem, xml) {\n let result = {\n id: xml.attr(elem, 'abstractNumId'),\n levels: []\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"name\":\n result.name = xml.attr(e, \"val\");\n break;\n case \"multiLevelType\":\n result.multiLevelType = xml.attr(e, \"val\");\n break;\n case \"numStyleLink\":\n result.numberingStyleLink = xml.attr(e, \"val\");\n break;\n case \"styleLink\":\n result.styleLink = xml.attr(e, \"val\");\n break;\n case \"lvl\":\n result.levels.push(parseNumberingLevel(e, xml));\n break;\n }\n }\n return result;\n}\nfunction parseNumberingLevel(elem, xml) {\n let result = {\n level: xml.intAttr(elem, 'ilvl')\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"start\":\n result.start = xml.attr(e, \"val\");\n break;\n case \"lvlRestart\":\n result.restart = xml.intAttr(e, \"val\");\n break;\n case \"numFmt\":\n result.format = xml.attr(e, \"val\");\n break;\n case \"lvlText\":\n result.text = xml.attr(e, \"val\");\n break;\n case \"lvlJc\":\n result.justification = xml.attr(e, \"val\");\n break;\n case \"lvlPicBulletId\":\n result.bulletPictureId = xml.attr(e, \"val\");\n break;\n case \"pStyle\":\n result.paragraphStyle = xml.attr(e, \"val\");\n break;\n case \"pPr\":\n result.paragraphProps = parseParagraphProperties(e, xml);\n break;\n case \"rPr\":\n result.runProps = parseRunProperties(e, xml);\n break;\n }\n }\n return result;\n}\nfunction parseNumberingLevelOverrride(elem, xml) {\n let result = {\n level: xml.intAttr(elem, 'ilvl')\n };\n for (let e of xml.elements(elem)) {\n switch (e.localName) {\n case \"startOverride\":\n result.start = xml.intAttr(e, \"val\");\n break;\n case \"lvl\":\n result.numberingLevel = parseNumberingLevel(e, xml);\n break;\n }\n }\n return result;\n}\nfunction parseNumberingBulletPicture(elem, xml) {\n var pict = xml.element(elem, \"pict\");\n var shape = pict && xml.element(pict, \"shape\");\n var imagedata = shape && xml.element(shape, \"imagedata\");\n return imagedata ? {\n id: xml.attr(elem, \"numPicBulletId\"),\n referenceId: xml.attr(imagedata, \"id\"),\n style: xml.attr(shape, \"style\")\n } : null;\n}\n\nclass NumberingPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n Object.assign(this, parseNumberingPart(root, this._package.xmlParser));\n this.domNumberings = this._documentParser.parseNumberingFile(root);\n }\n}\n\nclass StylesPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.styles = this._documentParser.parseStylesFile(root);\n }\n}\n\nvar DomType;\n(function (DomType) {\n DomType[\"Document\"] = \"document\";\n DomType[\"Paragraph\"] = \"paragraph\";\n DomType[\"Run\"] = \"run\";\n DomType[\"Break\"] = \"break\";\n DomType[\"NoBreakHyphen\"] = \"noBreakHyphen\";\n DomType[\"Table\"] = \"table\";\n DomType[\"Row\"] = \"row\";\n DomType[\"Cell\"] = \"cell\";\n DomType[\"Hyperlink\"] = \"hyperlink\";\n DomType[\"SmartTag\"] = \"smartTag\";\n DomType[\"Drawing\"] = \"drawing\";\n DomType[\"Image\"] = \"image\";\n DomType[\"Text\"] = \"text\";\n DomType[\"Tab\"] = \"tab\";\n DomType[\"Symbol\"] = \"symbol\";\n DomType[\"BookmarkStart\"] = \"bookmarkStart\";\n DomType[\"BookmarkEnd\"] = \"bookmarkEnd\";\n DomType[\"Footer\"] = \"footer\";\n DomType[\"Header\"] = \"header\";\n DomType[\"FootnoteReference\"] = \"footnoteReference\";\n DomType[\"EndnoteReference\"] = \"endnoteReference\";\n DomType[\"Footnote\"] = \"footnote\";\n DomType[\"Endnote\"] = \"endnote\";\n DomType[\"SimpleField\"] = \"simpleField\";\n DomType[\"ComplexField\"] = \"complexField\";\n DomType[\"Instruction\"] = \"instruction\";\n DomType[\"VmlPicture\"] = \"vmlPicture\";\n DomType[\"MmlMath\"] = \"mmlMath\";\n DomType[\"MmlMathParagraph\"] = \"mmlMathParagraph\";\n DomType[\"MmlFraction\"] = \"mmlFraction\";\n DomType[\"MmlFunction\"] = \"mmlFunction\";\n DomType[\"MmlFunctionName\"] = \"mmlFunctionName\";\n DomType[\"MmlNumerator\"] = \"mmlNumerator\";\n DomType[\"MmlDenominator\"] = \"mmlDenominator\";\n DomType[\"MmlRadical\"] = \"mmlRadical\";\n DomType[\"MmlBase\"] = \"mmlBase\";\n DomType[\"MmlDegree\"] = \"mmlDegree\";\n DomType[\"MmlSuperscript\"] = \"mmlSuperscript\";\n DomType[\"MmlSubscript\"] = \"mmlSubscript\";\n DomType[\"MmlPreSubSuper\"] = \"mmlPreSubSuper\";\n DomType[\"MmlSubArgument\"] = \"mmlSubArgument\";\n DomType[\"MmlSuperArgument\"] = \"mmlSuperArgument\";\n DomType[\"MmlNary\"] = \"mmlNary\";\n DomType[\"MmlDelimiter\"] = \"mmlDelimiter\";\n DomType[\"MmlRun\"] = \"mmlRun\";\n DomType[\"MmlEquationArray\"] = \"mmlEquationArray\";\n DomType[\"MmlLimit\"] = \"mmlLimit\";\n DomType[\"MmlLimitLower\"] = \"mmlLimitLower\";\n DomType[\"MmlMatrix\"] = \"mmlMatrix\";\n DomType[\"MmlMatrixRow\"] = \"mmlMatrixRow\";\n DomType[\"MmlBox\"] = \"mmlBox\";\n DomType[\"MmlBar\"] = \"mmlBar\";\n DomType[\"MmlGroupChar\"] = \"mmlGroupChar\";\n DomType[\"VmlElement\"] = \"vmlElement\";\n DomType[\"Inserted\"] = \"inserted\";\n DomType[\"Deleted\"] = \"deleted\";\n DomType[\"DeletedText\"] = \"deletedText\";\n DomType[\"Comment\"] = \"comment\";\n DomType[\"CommentReference\"] = \"commentReference\";\n DomType[\"CommentRangeStart\"] = \"commentRangeStart\";\n DomType[\"CommentRangeEnd\"] = \"commentRangeEnd\";\n DomType[\"AltChunk\"] = \"altChunk\";\n})(DomType || (DomType = {}));\nclass OpenXmlElementBase {\n constructor() {\n this.children = [];\n this.cssStyle = {};\n }\n}\n\nclass WmlHeader extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.Header;\n }\n}\nclass WmlFooter extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.Footer;\n }\n}\n\nclass BaseHeaderFooterPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.rootElement = this.createRootElement();\n this.rootElement.children = this._documentParser.parseBodyElements(root);\n }\n}\nclass HeaderPart extends BaseHeaderFooterPart {\n createRootElement() {\n return new WmlHeader();\n }\n}\nclass FooterPart extends BaseHeaderFooterPart {\n createRootElement() {\n return new WmlFooter();\n }\n}\n\nfunction parseExtendedProps(root, xmlParser) {\n const result = {};\n for (let el of xmlParser.elements(root)) {\n switch (el.localName) {\n case \"Template\":\n result.template = el.textContent;\n break;\n case \"Pages\":\n result.pages = safeParseToInt(el.textContent);\n break;\n case \"Words\":\n result.words = safeParseToInt(el.textContent);\n break;\n case \"Characters\":\n result.characters = safeParseToInt(el.textContent);\n break;\n case \"Application\":\n result.application = el.textContent;\n break;\n case \"Lines\":\n result.lines = safeParseToInt(el.textContent);\n break;\n case \"Paragraphs\":\n result.paragraphs = safeParseToInt(el.textContent);\n break;\n case \"Company\":\n result.company = el.textContent;\n break;\n case \"AppVersion\":\n result.appVersion = el.textContent;\n break;\n }\n }\n return result;\n}\nfunction safeParseToInt(value) {\n if (typeof value === 'undefined')\n return;\n return parseInt(value);\n}\n\nclass ExtendedPropsPart extends Part {\n parseXml(root) {\n this.props = parseExtendedProps(root, this._package.xmlParser);\n }\n}\n\nfunction parseCoreProps(root, xmlParser) {\n const result = {};\n for (let el of xmlParser.elements(root)) {\n switch (el.localName) {\n case \"title\":\n result.title = el.textContent;\n break;\n case \"description\":\n result.description = el.textContent;\n break;\n case \"subject\":\n result.subject = el.textContent;\n break;\n case \"creator\":\n result.creator = el.textContent;\n break;\n case \"keywords\":\n result.keywords = el.textContent;\n break;\n case \"language\":\n result.language = el.textContent;\n break;\n case \"lastModifiedBy\":\n result.lastModifiedBy = el.textContent;\n break;\n case \"revision\":\n el.textContent && (result.revision = parseInt(el.textContent));\n break;\n }\n }\n return result;\n}\n\nclass CorePropsPart extends Part {\n parseXml(root) {\n this.props = parseCoreProps(root, this._package.xmlParser);\n }\n}\n\nclass DmlTheme {\n}\nfunction parseTheme(elem, xml) {\n var result = new DmlTheme();\n var themeElements = xml.element(elem, \"themeElements\");\n for (let el of xml.elements(themeElements)) {\n switch (el.localName) {\n case \"clrScheme\":\n result.colorScheme = parseColorScheme(el, xml);\n break;\n case \"fontScheme\":\n result.fontScheme = parseFontScheme(el, xml);\n break;\n }\n }\n return result;\n}\nfunction parseColorScheme(elem, xml) {\n var result = {\n name: xml.attr(elem, \"name\"),\n colors: {}\n };\n for (let el of xml.elements(elem)) {\n var srgbClr = xml.element(el, \"srgbClr\");\n var sysClr = xml.element(el, \"sysClr\");\n if (srgbClr) {\n result.colors[el.localName] = xml.attr(srgbClr, \"val\");\n }\n else if (sysClr) {\n result.colors[el.localName] = xml.attr(sysClr, \"lastClr\");\n }\n }\n return result;\n}\nfunction parseFontScheme(elem, xml) {\n var result = {\n name: xml.attr(elem, \"name\"),\n };\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"majorFont\":\n result.majorFont = parseFontInfo(el, xml);\n break;\n case \"minorFont\":\n result.minorFont = parseFontInfo(el, xml);\n break;\n }\n }\n return result;\n}\nfunction parseFontInfo(elem, xml) {\n return {\n latinTypeface: xml.elementAttr(elem, \"latin\", \"typeface\"),\n eaTypeface: xml.elementAttr(elem, \"ea\", \"typeface\"),\n csTypeface: xml.elementAttr(elem, \"cs\", \"typeface\"),\n };\n}\n\nclass ThemePart extends Part {\n constructor(pkg, path) {\n super(pkg, path);\n }\n parseXml(root) {\n this.theme = parseTheme(root, this._package.xmlParser);\n }\n}\n\nclass WmlBaseNote {\n}\nclass WmlFootnote extends WmlBaseNote {\n constructor() {\n super(...arguments);\n this.type = DomType.Footnote;\n }\n}\nclass WmlEndnote extends WmlBaseNote {\n constructor() {\n super(...arguments);\n this.type = DomType.Endnote;\n }\n}\n\nclass BaseNotePart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n}\nclass FootnotesPart extends BaseNotePart {\n constructor(pkg, path, parser) {\n super(pkg, path, parser);\n }\n parseXml(root) {\n this.notes = this._documentParser.parseNotes(root, \"footnote\", WmlFootnote);\n }\n}\nclass EndnotesPart extends BaseNotePart {\n constructor(pkg, path, parser) {\n super(pkg, path, parser);\n }\n parseXml(root) {\n this.notes = this._documentParser.parseNotes(root, \"endnote\", WmlEndnote);\n }\n}\n\nfunction parseSettings(elem, xml) {\n var result = {};\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"defaultTabStop\":\n result.defaultTabStop = xml.lengthAttr(el, \"val\");\n break;\n case \"footnotePr\":\n result.footnoteProps = parseNoteProperties(el, xml);\n break;\n case \"endnotePr\":\n result.endnoteProps = parseNoteProperties(el, xml);\n break;\n case \"autoHyphenation\":\n result.autoHyphenation = xml.boolAttr(el, \"val\");\n break;\n }\n }\n return result;\n}\nfunction parseNoteProperties(elem, xml) {\n var result = {\n defaultNoteIds: []\n };\n for (let el of xml.elements(elem)) {\n switch (el.localName) {\n case \"numFmt\":\n result.nummeringFormat = xml.attr(el, \"val\");\n break;\n case \"footnote\":\n case \"endnote\":\n result.defaultNoteIds.push(xml.attr(el, \"id\"));\n break;\n }\n }\n return result;\n}\n\nclass SettingsPart extends Part {\n constructor(pkg, path) {\n super(pkg, path);\n }\n parseXml(root) {\n this.settings = parseSettings(root, this._package.xmlParser);\n }\n}\n\nfunction parseCustomProps(root, xml) {\n return xml.elements(root, \"property\").map(e => {\n const firstChild = e.firstChild;\n return {\n formatId: xml.attr(e, \"fmtid\"),\n name: xml.attr(e, \"name\"),\n type: firstChild.nodeName,\n value: firstChild.textContent\n };\n });\n}\n\nclass CustomPropsPart extends Part {\n parseXml(root) {\n this.props = parseCustomProps(root, this._package.xmlParser);\n }\n}\n\nclass CommentsPart extends Part {\n constructor(pkg, path, parser) {\n super(pkg, path);\n this._documentParser = parser;\n }\n parseXml(root) {\n this.comments = this._documentParser.parseComments(root);\n this.commentMap = keyBy(this.comments, x => x.id);\n }\n}\n\nclass CommentsExtendedPart extends Part {\n constructor(pkg, path) {\n super(pkg, path);\n this.comments = [];\n }\n parseXml(root) {\n const xml = this._package.xmlParser;\n for (let el of xml.elements(root, \"commentEx\")) {\n this.comments.push({\n paraId: xml.attr(el, 'paraId'),\n paraIdParent: xml.attr(el, 'paraIdParent'),\n done: xml.boolAttr(el, 'done')\n });\n }\n this.commentMap = keyBy(this.comments, x => x.paraId);\n }\n}\n\nconst topLevelRels = [\n { type: RelationshipTypes.OfficeDocument, target: \"word/document.xml\" },\n { type: RelationshipTypes.ExtendedProperties, target: \"docProps/app.xml\" },\n { type: RelationshipTypes.CoreProperties, target: \"docProps/core.xml\" },\n { type: RelationshipTypes.CustomProperties, target: \"docProps/custom.xml\" },\n];\nclass WordDocument {\n constructor() {\n this.parts = [];\n this.partsMap = {};\n this.contentTypes = [];\n }\n static async load(blob, parser, options) {\n var d = new WordDocument();\n d._options = options;\n d._parser = parser;\n d._package = await OpenXmlPackage.load(blob, options);\n d.rels = await d._package.loadRelationships();\n d.contentTypes = await d._package.loadContentTypes();\n await Promise.all(topLevelRels.map(rel => {\n const r = d.rels.find(x => x.type === rel.type) ?? rel;\n return d.loadRelationshipPart(r.target, r.type);\n }));\n return d;\n }\n save(type = \"blob\") {\n return this._package.save(type);\n }\n async loadRelationshipPart(path, type) {\n if (this.partsMap[path])\n return this.partsMap[path];\n if (!this._package.get(path))\n return null;\n let part = null;\n switch (type) {\n case RelationshipTypes.OfficeDocument:\n this.documentPart = part = new DocumentPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.FontTable:\n this.fontTablePart = part = new FontTablePart(this._package, path);\n break;\n case RelationshipTypes.Numbering:\n this.numberingPart = part = new NumberingPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Styles:\n this.stylesPart = part = new StylesPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Theme:\n this.themePart = part = new ThemePart(this._package, path);\n break;\n case RelationshipTypes.Footnotes:\n this.footnotesPart = part = new FootnotesPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Endnotes:\n this.endnotesPart = part = new EndnotesPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Footer:\n part = new FooterPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.Header:\n part = new HeaderPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.CoreProperties:\n this.corePropsPart = part = new CorePropsPart(this._package, path);\n break;\n case RelationshipTypes.ExtendedProperties:\n this.extendedPropsPart = part = new ExtendedPropsPart(this._package, path);\n break;\n case RelationshipTypes.CustomProperties:\n part = new CustomPropsPart(this._package, path);\n break;\n case RelationshipTypes.Settings:\n this.settingsPart = part = new SettingsPart(this._package, path);\n break;\n case RelationshipTypes.Comments:\n this.commentsPart = part = new CommentsPart(this._package, path, this._parser);\n break;\n case RelationshipTypes.CommentsExtended:\n this.commentsExtendedPart = part = new CommentsExtendedPart(this._package, path);\n break;\n }\n if (part == null)\n return Promise.resolve(null);\n this.partsMap[path] = part;\n this.parts.push(part);\n await part.load();\n if (part.rels?.length > 0) {\n const [folder] = splitPath(part.path);\n await Promise.all(part.rels.map(rel => this.loadRelationshipPart(resolvePath(rel.target, folder), rel.type)));\n }\n return part;\n }\n async loadDocumentImage(id, part) {\n const path = this.getPathById(part ?? this.documentPart, id);\n return path ? this.blobToURL(await this._package.load(path, \"blob\"), path) : null;\n }\n async loadNumberingImage(id) {\n const path = this.getPathById(this.numberingPart, id);\n return path ? this.blobToURL(await this._package.load(path, \"blob\"), path) : null;\n }\n async loadFont(id, key) {\n const path = this.getPathById(this.fontTablePart, id);\n if (!path)\n return null;\n const x = await this._package.load(path, \"uint8array\");\n return x ? this.blobToURL(new Blob([deobfuscate(x, key)]), path) : x;\n }\n async loadAltChunk(id, part) {\n const path = this.getPathById(part ?? this.documentPart, id);\n return path ? this._package.load(path, \"string\") : Promise.resolve(null);\n }\n blobToURL(blob, path) {\n if (!blob)\n return null;\n if (path) {\n const ct = this.contentTypes.find(x => x.partName === path || (x.extension && path.endsWith(`.${x.extension}`)));\n blob = ct ? new Blob([blob], { type: ct.contentType }) : blob;\n }\n if (this._options.useBase64URL) {\n return blobToBase64(blob);\n }\n return URL.createObjectURL(blob);\n }\n findPartByRelId(id, basePart = null) {\n var rel = (basePart.rels ?? this.rels).find(r => r.id == id);\n const folder = basePart ? splitPath(basePart.path)[0] : '';\n return rel ? this.partsMap[resolvePath(rel.target, folder)] : null;\n }\n getPathById(part, id) {\n const rel = part.rels.find(x => x.id == id);\n const [folder] = splitPath(part.path);\n return rel ? resolvePath(rel.target, folder) : null;\n }\n}\nfunction deobfuscate(data, guidKey) {\n const len = 16;\n const trimmed = guidKey.replace(/{|}|-/g, \"\");\n const numbers = new Array(len);\n for (let i = 0; i < len; i++)\n numbers[len - i - 1] = parseInt(trimmed.substring(i * 2, i * 2 + 2), 16);\n for (let i = 0; i < 32; i++)\n data[i] = data[i] ^ numbers[i % len];\n return data;\n}\n\nfunction parseBookmarkStart(elem, xml) {\n return {\n type: DomType.BookmarkStart,\n id: xml.attr(elem, \"id\"),\n name: xml.attr(elem, \"name\"),\n colFirst: xml.intAttr(elem, \"colFirst\"),\n colLast: xml.intAttr(elem, \"colLast\")\n };\n}\nfunction parseBookmarkEnd(elem, xml) {\n return {\n type: DomType.BookmarkEnd,\n id: xml.attr(elem, \"id\")\n };\n}\n\nclass VmlElement extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.VmlElement;\n this.attrs = {};\n }\n}\nfunction parseVmlElement(elem, parser) {\n var result = new VmlElement();\n switch (elem.localName) {\n case \"rect\":\n result.tagName = \"rect\";\n Object.assign(result.attrs, { width: '100%', height: '100%' });\n break;\n case \"oval\":\n result.tagName = \"ellipse\";\n Object.assign(result.attrs, { cx: \"50%\", cy: \"50%\", rx: \"50%\", ry: \"50%\" });\n break;\n case \"line\":\n result.tagName = \"line\";\n break;\n case \"shape\":\n result.tagName = \"g\";\n break;\n case \"textbox\":\n result.tagName = \"foreignObject\";\n Object.assign(result.attrs, { width: '100%', height: '100%' });\n break;\n default:\n return null;\n }\n for (const at of globalXmlParser.attrs(elem)) {\n switch (at.localName) {\n case \"style\":\n result.cssStyleText = at.value;\n break;\n case \"fillcolor\":\n result.attrs.fill = at.value;\n break;\n case \"from\":\n const [x1, y1] = parsePoint(at.value);\n Object.assign(result.attrs, { x1, y1 });\n break;\n case \"to\":\n const [x2, y2] = parsePoint(at.value);\n Object.assign(result.attrs, { x2, y2 });\n break;\n }\n }\n for (const el of globalXmlParser.elements(elem)) {\n switch (el.localName) {\n case \"stroke\":\n Object.assign(result.attrs, parseStroke(el));\n break;\n case \"fill\":\n Object.assign(result.attrs, parseFill());\n break;\n case \"imagedata\":\n result.tagName = \"image\";\n Object.assign(result.attrs, { width: '100%', height: '100%' });\n result.imageHref = {\n id: globalXmlParser.attr(el, \"id\"),\n title: globalXmlParser.attr(el, \"title\"),\n };\n break;\n case \"txbxContent\":\n result.children.push(...parser.parseBodyElements(el));\n break;\n default:\n const child = parseVmlElement(el, parser);\n child && result.children.push(child);\n break;\n }\n }\n return result;\n}\nfunction parseStroke(el) {\n return {\n 'stroke': globalXmlParser.attr(el, \"color\"),\n 'stroke-width': globalXmlParser.lengthAttr(el, \"weight\", LengthUsage.Emu) ?? '1px'\n };\n}\nfunction parseFill(el) {\n return {};\n}\nfunction parsePoint(val) {\n return val.split(\",\");\n}\n\nclass WmlComment extends OpenXmlElementBase {\n constructor() {\n super(...arguments);\n this.type = DomType.Comment;\n }\n}\nclass WmlCommentReference extends OpenXmlElementBase {\n constructor(id) {\n super();\n this.id = id;\n this.type = DomType.CommentReference;\n }\n}\nclass WmlCommentRangeStart extends OpenXmlElementBase {\n constructor(id) {\n super();\n this.id = id;\n this.type = DomType.CommentRangeStart;\n }\n}\nclass WmlCommentRangeEnd extends OpenXmlElementBase {\n constructor(id) {\n super();\n this.id = id;\n this.type = DomType.CommentRangeEnd;\n }\n}\n\nvar autos = {\n shd: \"inherit\",\n color: \"black\",\n borderColor: \"black\",\n highlight: \"transparent\"\n};\nconst supportedNamespaceURIs = [];\nconst mmlTagMap = {\n \"oMath\": DomType.MmlMath,\n \"oMathPara\": DomType.MmlMathParagraph,\n \"f\": DomType.MmlFraction,\n \"func\": DomType.MmlFunction,\n \"fName\": DomType.MmlFunctionName,\n \"num\": DomType.MmlNumerator,\n \"den\": DomType.MmlDenominator,\n \"rad\": DomType.MmlRadical,\n \"deg\": DomType.MmlDegree,\n \"e\": DomType.MmlBase,\n \"sSup\": DomType.MmlSuperscript,\n \"sSub\": DomType.MmlSubscript,\n \"sPre\": DomType.MmlPreSubSuper,\n \"sup\": DomType.MmlSuperArgument,\n \"sub\": DomType.MmlSubArgument,\n \"d\": DomType.MmlDelimiter,\n \"nary\": DomType.MmlNary,\n \"eqArr\": DomType.MmlEquationArray,\n \"lim\": DomType.MmlLimit,\n \"limLow\": DomType.MmlLimitLower,\n \"m\": DomType.MmlMatrix,\n \"mr\": DomType.MmlMatrixRow,\n \"box\": DomType.MmlBox,\n \"bar\": DomType.MmlBar,\n \"groupChr\": DomType.MmlGroupChar\n};\nclass DocumentParser {\n constructor(options) {\n this.options = {\n ignoreWidth: false,\n debug: false,\n ...options\n };\n }\n parseNotes(xmlDoc, elemName, elemClass) {\n var result = [];\n for (let el of globalXmlParser.elements(xmlDoc, elemName)) {\n const node = new elemClass();\n node.id = globalXmlParser.attr(el, \"id\");\n node.noteType = globalXmlParser.attr(el, \"type\");\n node.children = this.parseBodyElements(el);\n result.push(node);\n }\n return result;\n }\n parseComments(xmlDoc) {\n var result = [];\n for (let el of globalXmlParser.elements(xmlDoc, \"comment\")) {\n const item = new WmlComment();\n item.id = globalXmlParser.attr(el, \"id\");\n item.author = globalXmlParser.attr(el, \"author\");\n item.initials = globalXmlParser.attr(el, \"initials\");\n item.date = globalXmlParser.attr(el, \"date\");\n item.children = this.parseBodyElements(el);\n result.push(item);\n }\n return result;\n }\n parseDocumentFile(xmlDoc) {\n var xbody = globalXmlParser.element(xmlDoc, \"body\");\n var background = globalXmlParser.element(xmlDoc, \"background\");\n var sectPr = globalXmlParser.element(xbody, \"sectPr\");\n return {\n type: DomType.Document,\n children: this.parseBodyElements(xbody),\n props: sectPr ? parseSectionProperties(sectPr, globalXmlParser) : {},\n cssStyle: background ? this.parseBackground(background) : {},\n };\n }\n parseBackground(elem) {\n var result = {};\n var color = xmlUtil.colorAttr(elem, \"color\");\n if (color) {\n result[\"background-color\"] = color;\n }\n return result;\n }\n parseBodyElements(element) {\n var children = [];\n for (const elem of globalXmlParser.elements(element)) {\n switch (elem.localName) {\n case \"p\":\n children.push(this.parseParagraph(elem));\n break;\n case \"altChunk\":\n children.push(this.parseAltChunk(elem));\n break;\n case \"tbl\":\n children.push(this.parseTable(elem));\n break;\n case \"sdt\":\n children.push(...this.parseSdt(elem, e => this.parseBodyElements(e)));\n break;\n }\n }\n return children;\n }\n parseStylesFile(xstyles) {\n var result = [];\n for (const n of globalXmlParser.elements(xstyles)) {\n switch (n.localName) {\n case \"style\":\n result.push(this.parseStyle(n));\n break;\n case \"docDefaults\":\n result.push(this.parseDefaultStyles(n));\n break;\n }\n }\n return result;\n }\n parseDefaultStyles(node) {\n var result = {\n id: null,\n name: null,\n target: null,\n basedOn: null,\n styles: []\n };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"rPrDefault\":\n var rPr = globalXmlParser.element(c, \"rPr\");\n if (rPr)\n result.styles.push({\n target: \"span\",\n values: this.parseDefaultProperties(rPr, {})\n });\n break;\n case \"pPrDefault\":\n var pPr = globalXmlParser.element(c, \"pPr\");\n if (pPr)\n result.styles.push({\n target: \"p\",\n values: this.parseDefaultProperties(pPr, {})\n });\n break;\n }\n }\n return result;\n }\n parseStyle(node) {\n var result = {\n id: globalXmlParser.attr(node, \"styleId\"),\n isDefault: globalXmlParser.boolAttr(node, \"default\"),\n name: null,\n target: null,\n basedOn: null,\n styles: [],\n linked: null\n };\n switch (globalXmlParser.attr(node, \"type\")) {\n case \"paragraph\":\n result.target = \"p\";\n break;\n case \"table\":\n result.target = \"table\";\n break;\n case \"character\":\n result.target = \"span\";\n break;\n }\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"basedOn\":\n result.basedOn = globalXmlParser.attr(n, \"val\");\n break;\n case \"name\":\n result.name = globalXmlParser.attr(n, \"val\");\n break;\n case \"link\":\n result.linked = globalXmlParser.attr(n, \"val\");\n break;\n case \"next\":\n result.next = globalXmlParser.attr(n, \"val\");\n break;\n case \"aliases\":\n result.aliases = globalXmlParser.attr(n, \"val\").split(\",\");\n break;\n case \"pPr\":\n result.styles.push({\n target: \"p\",\n values: this.parseDefaultProperties(n, {})\n });\n result.paragraphProps = parseParagraphProperties(n, globalXmlParser);\n break;\n case \"rPr\":\n result.styles.push({\n target: \"span\",\n values: this.parseDefaultProperties(n, {})\n });\n result.runProps = parseRunProperties(n, globalXmlParser);\n break;\n case \"tblPr\":\n case \"tcPr\":\n result.styles.push({\n target: \"td\",\n values: this.parseDefaultProperties(n, {})\n });\n break;\n case \"tblStylePr\":\n for (let s of this.parseTableStyle(n))\n result.styles.push(s);\n break;\n case \"rsid\":\n case \"qFormat\":\n case \"hidden\":\n case \"semiHidden\":\n case \"unhideWhenUsed\":\n case \"autoRedefine\":\n case \"uiPriority\":\n break;\n default:\n this.options.debug && console.warn(`DOCX: Unknown style element: ${n.localName}`);\n }\n }\n return result;\n }\n parseTableStyle(node) {\n var result = [];\n var type = globalXmlParser.attr(node, \"type\");\n var selector = \"\";\n var modificator = \"\";\n switch (type) {\n case \"firstRow\":\n modificator = \".first-row\";\n selector = \"tr.first-row td\";\n break;\n case \"lastRow\":\n modificator = \".last-row\";\n selector = \"tr.last-row td\";\n break;\n case \"firstCol\":\n modificator = \".first-col\";\n selector = \"td.first-col\";\n break;\n case \"lastCol\":\n modificator = \".last-col\";\n selector = \"td.last-col\";\n break;\n case \"band1Vert\":\n modificator = \":not(.no-vband)\";\n selector = \"td.odd-col\";\n break;\n case \"band2Vert\":\n modificator = \":not(.no-vband)\";\n selector = \"td.even-col\";\n break;\n case \"band1Horz\":\n modificator = \":not(.no-hband)\";\n selector = \"tr.odd-row\";\n break;\n case \"band2Horz\":\n modificator = \":not(.no-hband)\";\n selector = \"tr.even-row\";\n break;\n default: return [];\n }\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"pPr\":\n result.push({\n target: `${selector} p`,\n mod: modificator,\n values: this.parseDefaultProperties(n, {})\n });\n break;\n case \"rPr\":\n result.push({\n target: `${selector} span`,\n mod: modificator,\n values: this.parseDefaultProperties(n, {})\n });\n break;\n case \"tblPr\":\n case \"tcPr\":\n result.push({\n target: selector,\n mod: modificator,\n values: this.parseDefaultProperties(n, {})\n });\n break;\n }\n }\n return result;\n }\n parseNumberingFile(node) {\n const levels = [];\n const nums = [];\n const bullets = [];\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"abstractNum\":\n levels.push(...this.parseAbstractNumbering(n, bullets));\n break;\n case \"numPicBullet\":\n bullets.push(this.parseNumberingPicBullet(n));\n break;\n case \"num\":\n nums.push({\n numId: globalXmlParser.attr(n, \"numId\"),\n abstractNumId: globalXmlParser.elementAttr(n, \"abstractNumId\", \"val\"),\n });\n break;\n }\n }\n return nums.flatMap(x => levels.filter(lvl => x.abstractNumId == lvl.id).map(lvl => ({ ...lvl, id: x.numId })));\n }\n parseNumberingPicBullet(elem) {\n var pict = globalXmlParser.element(elem, \"pict\");\n var shape = pict && globalXmlParser.element(pict, \"shape\");\n var imagedata = shape && globalXmlParser.element(shape, \"imagedata\");\n return imagedata ? {\n id: globalXmlParser.intAttr(elem, \"numPicBulletId\"),\n src: globalXmlParser.attr(imagedata, \"id\"),\n style: globalXmlParser.attr(shape, \"style\")\n } : null;\n }\n parseAbstractNumbering(node, bullets) {\n var result = [];\n var id = globalXmlParser.attr(node, \"abstractNumId\");\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"lvl\":\n result.push(this.parseNumberingLevel(id, n, bullets));\n break;\n }\n }\n return result;\n }\n parseNumberingLevel(id, node, bullets) {\n var result = {\n id: id,\n level: globalXmlParser.intAttr(node, \"ilvl\"),\n start: 1,\n pStyleName: undefined,\n pStyle: {},\n rStyle: {},\n suff: \"tab\"\n };\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"start\":\n result.start = globalXmlParser.intAttr(n, \"val\");\n break;\n case \"pPr\":\n this.parseDefaultProperties(n, result.pStyle);\n break;\n case \"rPr\":\n this.parseDefaultProperties(n, result.rStyle);\n break;\n case \"lvlPicBulletId\":\n var bulletId = globalXmlParser.intAttr(n, \"val\");\n result.bullet = bullets.find(x => x?.id == bulletId);\n break;\n case \"lvlText\":\n result.levelText = globalXmlParser.attr(n, \"val\");\n break;\n case \"pStyle\":\n result.pStyleName = globalXmlParser.attr(n, \"val\");\n break;\n case \"numFmt\":\n result.format = globalXmlParser.attr(n, \"val\");\n break;\n case \"suff\":\n result.suff = globalXmlParser.attr(n, \"val\");\n break;\n }\n }\n return result;\n }\n parseSdt(node, parser) {\n const sdtContent = globalXmlParser.element(node, \"sdtContent\");\n return sdtContent ? parser(sdtContent) : [];\n }\n parseChange(type, node, parentParser) {\n return {\n type,\n children: parentParser(node)?.children ?? [],\n id: globalXmlParser.attr(node, \"id\"),\n author: globalXmlParser.attr(node, \"author\"),\n date: globalXmlParser.attr(node, \"date\"),\n };\n }\n parseAltChunk(node) {\n return { type: DomType.AltChunk, children: [], id: globalXmlParser.attr(node, \"id\") };\n }\n parseParagraph(node) {\n var result = { type: DomType.Paragraph, children: [] };\n for (let el of globalXmlParser.elements(node)) {\n switch (el.localName) {\n case \"pPr\":\n this.parseParagraphProperties(el, result);\n break;\n case \"r\":\n result.children.push(this.parseRun(el, result));\n break;\n case \"hyperlink\":\n result.children.push(this.parseHyperlink(el, result));\n break;\n case \"smartTag\":\n result.children.push(this.parseSmartTag(el, result));\n break;\n case \"bookmarkStart\":\n result.children.push(parseBookmarkStart(el, globalXmlParser));\n break;\n case \"bookmarkEnd\":\n result.children.push(parseBookmarkEnd(el, globalXmlParser));\n break;\n case \"commentRangeStart\":\n result.children.push(new WmlCommentRangeStart(globalXmlParser.attr(el, \"id\")));\n break;\n case \"commentRangeEnd\":\n result.children.push(new WmlCommentRangeEnd(globalXmlParser.attr(el, \"id\")));\n break;\n case \"oMath\":\n case \"oMathPara\":\n result.children.push(this.parseMathElement(el));\n break;\n case \"sdt\":\n result.children.push(...this.parseSdt(el, e => this.parseParagraph(e).children));\n break;\n case \"ins\":\n result.children.push(this.parseChange(DomType.Inserted, el, e => this.parseParagraph(e)));\n break;\n case \"del\":\n result.children.push(this.parseChange(DomType.Deleted, el, e => this.parseParagraph(e)));\n break;\n }\n }\n return result;\n }\n parseParagraphProperties(elem, paragraph) {\n this.parseDefaultProperties(elem, paragraph.cssStyle = {}, null, c => {\n if (parseParagraphProperty(c, paragraph, globalXmlParser))\n return true;\n switch (c.localName) {\n case \"pStyle\":\n paragraph.styleName = globalXmlParser.attr(c, \"val\");\n break;\n case \"cnfStyle\":\n paragraph.className = values.classNameOfCnfStyle(c);\n break;\n case \"framePr\":\n this.parseFrame(c, paragraph);\n break;\n case \"rPr\":\n break;\n default:\n return false;\n }\n return true;\n });\n }\n parseFrame(node, paragraph) {\n var dropCap = globalXmlParser.attr(node, \"dropCap\");\n if (dropCap == \"drop\")\n paragraph.cssStyle[\"float\"] = \"left\";\n }\n parseHyperlink(node, parent) {\n var result = { type: DomType.Hyperlink, parent: parent, children: [] };\n result.anchor = globalXmlParser.attr(node, \"anchor\");\n result.id = globalXmlParser.attr(node, \"id\");\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"r\":\n result.children.push(this.parseRun(c, result));\n break;\n }\n }\n return result;\n }\n parseSmartTag(node, parent) {\n var result = { type: DomType.SmartTag, parent, children: [] };\n var uri = globalXmlParser.attr(node, \"uri\");\n var element = globalXmlParser.attr(node, \"element\");\n if (uri)\n result.uri = uri;\n if (element)\n result.element = element;\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"r\":\n result.children.push(this.parseRun(c, result));\n break;\n case \"smartTag\":\n result.children.push(this.parseSmartTag(c, result));\n break;\n }\n }\n return result;\n }\n parseRun(node, parent) {\n var result = { type: DomType.Run, parent: parent, children: [] };\n for (let c of globalXmlParser.elements(node)) {\n c = this.checkAlternateContent(c);\n switch (c.localName) {\n case \"t\":\n result.children.push({\n type: DomType.Text,\n text: c.textContent\n });\n break;\n case \"delText\":\n result.children.push({\n type: DomType.DeletedText,\n text: c.textContent\n });\n break;\n case \"commentReference\":\n result.children.push(new WmlCommentReference(globalXmlParser.attr(c, \"id\")));\n break;\n case \"fldSimple\":\n result.children.push({\n type: DomType.SimpleField,\n instruction: globalXmlParser.attr(c, \"instr\"),\n lock: globalXmlParser.boolAttr(c, \"lock\", false),\n dirty: globalXmlParser.boolAttr(c, \"dirty\", false)\n });\n break;\n case \"instrText\":\n result.fieldRun = true;\n result.children.push({\n type: DomType.Instruction,\n text: c.textContent\n });\n break;\n case \"fldChar\":\n result.fieldRun = true;\n result.children.push({\n type: DomType.ComplexField,\n charType: globalXmlParser.attr(c, \"fldCharType\"),\n lock: globalXmlParser.boolAttr(c, \"lock\", false),\n dirty: globalXmlParser.boolAttr(c, \"dirty\", false)\n });\n break;\n case \"noBreakHyphen\":\n result.children.push({ type: DomType.NoBreakHyphen });\n break;\n case \"br\":\n result.children.push({\n type: DomType.Break,\n break: globalXmlParser.attr(c, \"type\") || \"textWrapping\"\n });\n break;\n case \"lastRenderedPageBreak\":\n result.children.push({\n type: DomType.Break,\n break: \"lastRenderedPageBreak\"\n });\n break;\n case \"sym\":\n result.children.push({\n type: DomType.Symbol,\n font: encloseFontFamily(globalXmlParser.attr(c, \"font\")),\n char: globalXmlParser.hexAttr(c, \"char\")\n });\n break;\n case \"tab\":\n result.children.push({ type: DomType.Tab });\n break;\n case \"footnoteReference\":\n result.children.push({\n type: DomType.FootnoteReference,\n id: globalXmlParser.attr(c, \"id\")\n });\n break;\n case \"endnoteReference\":\n result.children.push({\n type: DomType.EndnoteReference,\n id: globalXmlParser.attr(c, \"id\")\n });\n break;\n case \"drawing\":\n let d = this.parseDrawing(c);\n if (d)\n result.children.push(d);\n break;\n case \"pict\":\n result.children.push(this.parseVmlPicture(c));\n break;\n case \"rPr\":\n this.parseRunProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseMathElement(elem) {\n const propsTag = `${elem.localName}Pr`;\n const result = { type: mmlTagMap[elem.localName], children: [] };\n for (const el of globalXmlParser.elements(elem)) {\n const childType = mmlTagMap[el.localName];\n if (childType) {\n result.children.push(this.parseMathElement(el));\n }\n else if (el.localName == \"r\") {\n var run = this.parseRun(el);\n run.type = DomType.MmlRun;\n result.children.push(run);\n }\n else if (el.localName == propsTag) {\n result.props = this.parseMathProperies(el);\n }\n }\n return result;\n }\n parseMathProperies(elem) {\n const result = {};\n for (const el of globalXmlParser.elements(elem)) {\n switch (el.localName) {\n case \"chr\":\n result.char = globalXmlParser.attr(el, \"val\");\n break;\n case \"vertJc\":\n result.verticalJustification = globalXmlParser.attr(el, \"val\");\n break;\n case \"pos\":\n result.position = globalXmlParser.attr(el, \"val\");\n break;\n case \"degHide\":\n result.hideDegree = globalXmlParser.boolAttr(el, \"val\");\n break;\n case \"begChr\":\n result.beginChar = globalXmlParser.attr(el, \"val\");\n break;\n case \"endChr\":\n result.endChar = globalXmlParser.attr(el, \"val\");\n break;\n }\n }\n return result;\n }\n parseRunProperties(elem, run) {\n this.parseDefaultProperties(elem, run.cssStyle = {}, null, c => {\n switch (c.localName) {\n case \"rStyle\":\n run.styleName = globalXmlParser.attr(c, \"val\");\n break;\n case \"vertAlign\":\n run.verticalAlign = values.valueOfVertAlign(c, true);\n break;\n default:\n return false;\n }\n return true;\n });\n }\n parseVmlPicture(elem) {\n const result = { type: DomType.VmlPicture, children: [] };\n for (const el of globalXmlParser.elements(elem)) {\n const child = parseVmlElement(el, this);\n child && result.children.push(child);\n }\n return result;\n }\n checkAlternateContent(elem) {\n if (elem.localName != 'AlternateContent')\n return elem;\n var choice = globalXmlParser.element(elem, \"Choice\");\n if (choice) {\n var requires = globalXmlParser.attr(choice, \"Requires\");\n var namespaceURI = elem.lookupNamespaceURI(requires);\n if (supportedNamespaceURIs.includes(namespaceURI))\n return choice.firstElementChild;\n }\n return globalXmlParser.element(elem, \"Fallback\")?.firstElementChild;\n }\n parseDrawing(node) {\n for (var n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"inline\":\n case \"anchor\":\n return this.parseDrawingWrapper(n);\n }\n }\n }\n parseDrawingWrapper(node) {\n var result = { type: DomType.Drawing, children: [], cssStyle: {} };\n var isAnchor = node.localName == \"anchor\";\n let wrapType = null;\n let simplePos = globalXmlParser.boolAttr(node, \"simplePos\");\n globalXmlParser.boolAttr(node, \"behindDoc\");\n let posX = { relative: \"page\", align: \"left\", offset: \"0\" };\n let posY = { relative: \"page\", align: \"top\", offset: \"0\" };\n for (var n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"simplePos\":\n if (simplePos) {\n posX.offset = globalXmlParser.lengthAttr(n, \"x\", LengthUsage.Emu);\n posY.offset = globalXmlParser.lengthAttr(n, \"y\", LengthUsage.Emu);\n }\n break;\n case \"extent\":\n result.cssStyle[\"width\"] = globalXmlParser.lengthAttr(n, \"cx\", LengthUsage.Emu);\n result.cssStyle[\"height\"] = globalXmlParser.lengthAttr(n, \"cy\", LengthUsage.Emu);\n break;\n case \"positionH\":\n case \"positionV\":\n if (!simplePos) {\n let pos = n.localName == \"positionH\" ? posX : posY;\n var alignNode = globalXmlParser.element(n, \"align\");\n var offsetNode = globalXmlParser.element(n, \"posOffset\");\n pos.relative = globalXmlParser.attr(n, \"relativeFrom\") ?? pos.relative;\n if (alignNode)\n pos.align = alignNode.textContent;\n if (offsetNode)\n pos.offset = convertLength(offsetNode.textContent, LengthUsage.Emu);\n }\n break;\n case \"wrapTopAndBottom\":\n wrapType = \"wrapTopAndBottom\";\n break;\n case \"wrapNone\":\n wrapType = \"wrapNone\";\n break;\n case \"graphic\":\n var g = this.parseGraphic(n);\n if (g)\n result.children.push(g);\n break;\n }\n }\n if (wrapType == \"wrapTopAndBottom\") {\n result.cssStyle['display'] = 'block';\n if (posX.align) {\n result.cssStyle['text-align'] = posX.align;\n result.cssStyle['width'] = \"100%\";\n }\n }\n else if (wrapType == \"wrapNone\") {\n result.cssStyle['display'] = 'block';\n result.cssStyle['position'] = 'relative';\n result.cssStyle[\"width\"] = \"0px\";\n result.cssStyle[\"height\"] = \"0px\";\n if (posX.offset)\n result.cssStyle[\"left\"] = posX.offset;\n if (posY.offset)\n result.cssStyle[\"top\"] = posY.offset;\n }\n else if (isAnchor && (posX.align == 'left' || posX.align == 'right')) {\n result.cssStyle[\"float\"] = posX.align;\n }\n return result;\n }\n parseGraphic(elem) {\n var graphicData = globalXmlParser.element(elem, \"graphicData\");\n for (let n of globalXmlParser.elements(graphicData)) {\n switch (n.localName) {\n case \"pic\":\n return this.parsePicture(n);\n }\n }\n return null;\n }\n parsePicture(elem) {\n var result = { type: DomType.Image, src: \"\", cssStyle: {} };\n var blipFill = globalXmlParser.element(elem, \"blipFill\");\n var blip = globalXmlParser.element(blipFill, \"blip\");\n var srcRect = globalXmlParser.element(blipFill, \"srcRect\");\n result.src = globalXmlParser.attr(blip, \"embed\");\n if (srcRect) {\n result.srcRect = [\n globalXmlParser.intAttr(srcRect, \"l\", 0) / 100000,\n globalXmlParser.intAttr(srcRect, \"t\", 0) / 100000,\n globalXmlParser.intAttr(srcRect, \"r\", 0) / 100000,\n globalXmlParser.intAttr(srcRect, \"b\", 0) / 100000,\n ];\n }\n var spPr = globalXmlParser.element(elem, \"spPr\");\n var xfrm = globalXmlParser.element(spPr, \"xfrm\");\n result.cssStyle[\"position\"] = \"relative\";\n if (xfrm) {\n result.rotation = globalXmlParser.intAttr(xfrm, \"rot\", 0) / 60000;\n for (var n of globalXmlParser.elements(xfrm)) {\n switch (n.localName) {\n case \"ext\":\n result.cssStyle[\"width\"] = globalXmlParser.lengthAttr(n, \"cx\", LengthUsage.Emu);\n result.cssStyle[\"height\"] = globalXmlParser.lengthAttr(n, \"cy\", LengthUsage.Emu);\n break;\n case \"off\":\n result.cssStyle[\"left\"] = globalXmlParser.lengthAttr(n, \"x\", LengthUsage.Emu);\n result.cssStyle[\"top\"] = globalXmlParser.lengthAttr(n, \"y\", LengthUsage.Emu);\n break;\n }\n }\n }\n return result;\n }\n parseTable(node) {\n var result = { type: DomType.Table, children: [] };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"tr\":\n result.children.push(this.parseTableRow(c));\n break;\n case \"tblGrid\":\n result.columns = this.parseTableColumns(c);\n break;\n case \"tblPr\":\n this.parseTableProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseTableColumns(node) {\n var result = [];\n for (const n of globalXmlParser.elements(node)) {\n switch (n.localName) {\n case \"gridCol\":\n result.push({ width: globalXmlParser.lengthAttr(n, \"w\") });\n break;\n }\n }\n return result;\n }\n parseTableProperties(elem, table) {\n table.cssStyle = {};\n table.cellStyle = {};\n this.parseDefaultProperties(elem, table.cssStyle, table.cellStyle, c => {\n switch (c.localName) {\n case \"tblStyle\":\n table.styleName = globalXmlParser.attr(c, \"val\");\n break;\n case \"tblLook\":\n table.className = values.classNameOftblLook(c);\n break;\n case \"tblpPr\":\n this.parseTablePosition(c, table);\n break;\n case \"tblStyleColBandSize\":\n table.colBandSize = globalXmlParser.intAttr(c, \"val\");\n break;\n case \"tblStyleRowBandSize\":\n table.rowBandSize = globalXmlParser.intAttr(c, \"val\");\n break;\n case \"hidden\":\n table.cssStyle[\"display\"] = \"none\";\n break;\n default:\n return false;\n }\n return true;\n });\n switch (table.cssStyle[\"text-align\"]) {\n case \"center\":\n delete table.cssStyle[\"text-align\"];\n table.cssStyle[\"margin-left\"] = \"auto\";\n table.cssStyle[\"margin-right\"] = \"auto\";\n break;\n case \"right\":\n delete table.cssStyle[\"text-align\"];\n table.cssStyle[\"margin-left\"] = \"auto\";\n break;\n }\n }\n parseTablePosition(node, table) {\n var topFromText = globalXmlParser.lengthAttr(node, \"topFromText\");\n var bottomFromText = globalXmlParser.lengthAttr(node, \"bottomFromText\");\n var rightFromText = globalXmlParser.lengthAttr(node, \"rightFromText\");\n var leftFromText = globalXmlParser.lengthAttr(node, \"leftFromText\");\n table.cssStyle[\"float\"] = 'left';\n table.cssStyle[\"margin-bottom\"] = values.addSize(table.cssStyle[\"margin-bottom\"], bottomFromText);\n table.cssStyle[\"margin-left\"] = values.addSize(table.cssStyle[\"margin-left\"], leftFromText);\n table.cssStyle[\"margin-right\"] = values.addSize(table.cssStyle[\"margin-right\"], rightFromText);\n table.cssStyle[\"margin-top\"] = values.addSize(table.cssStyle[\"margin-top\"], topFromText);\n }\n parseTableRow(node) {\n var result = { type: DomType.Row, children: [] };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"tc\":\n result.children.push(this.parseTableCell(c));\n break;\n case \"trPr\":\n case \"tblPrEx\":\n this.parseTableRowProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseTableRowProperties(elem, row) {\n row.cssStyle = this.parseDefaultProperties(elem, {}, null, c => {\n switch (c.localName) {\n case \"cnfStyle\":\n row.className = values.classNameOfCnfStyle(c);\n break;\n case \"tblHeader\":\n row.isHeader = globalXmlParser.boolAttr(c, \"val\");\n break;\n case \"gridBefore\":\n row.gridBefore = globalXmlParser.intAttr(c, \"val\");\n break;\n case \"gridAfter\":\n row.gridAfter = globalXmlParser.intAttr(c, \"val\");\n break;\n default:\n return false;\n }\n return true;\n });\n }\n parseTableCell(node) {\n var result = { type: DomType.Cell, children: [] };\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"tbl\":\n result.children.push(this.parseTable(c));\n break;\n case \"p\":\n result.children.push(this.parseParagraph(c));\n break;\n case \"tcPr\":\n this.parseTableCellProperties(c, result);\n break;\n }\n }\n return result;\n }\n parseTableCellProperties(elem, cell) {\n cell.cssStyle = this.parseDefaultProperties(elem, {}, null, c => {\n switch (c.localName) {\n case \"gridSpan\":\n cell.span = globalXmlParser.intAttr(c, \"val\", null);\n break;\n case \"vMerge\":\n cell.verticalMerge = globalXmlParser.attr(c, \"val\") ?? \"continue\";\n break;\n case \"cnfStyle\":\n cell.className = values.classNameOfCnfStyle(c);\n break;\n default:\n return false;\n }\n return true;\n });\n this.parseTableCellVerticalText(elem, cell);\n }\n parseTableCellVerticalText(elem, cell) {\n const directionMap = {\n \"btLr\": {\n writingMode: \"vertical-rl\",\n transform: \"rotate(180deg)\"\n },\n \"lrTb\": {\n writingMode: \"vertical-lr\",\n transform: \"none\"\n },\n \"tbRl\": {\n writingMode: \"vertical-rl\",\n transform: \"none\"\n }\n };\n for (const c of globalXmlParser.elements(elem)) {\n if (c.localName === \"textDirection\") {\n const direction = globalXmlParser.attr(c, \"val\");\n const style = directionMap[direction] || { writingMode: \"horizontal-tb\" };\n cell.cssStyle[\"writing-mode\"] = style.writingMode;\n cell.cssStyle[\"transform\"] = style.transform;\n }\n }\n }\n parseDefaultProperties(elem, style = null, childStyle = null, handler = null) {\n style = style || {};\n for (const c of globalXmlParser.elements(elem)) {\n if (handler?.(c))\n continue;\n switch (c.localName) {\n case \"jc\":\n style[\"text-align\"] = values.valueOfJc(c);\n break;\n case \"textAlignment\":\n style[\"vertical-align\"] = values.valueOfTextAlignment(c);\n break;\n case \"color\":\n style[\"color\"] = xmlUtil.colorAttr(c, \"val\", null, autos.color);\n break;\n case \"sz\":\n style[\"font-size\"] = style[\"min-height\"] = globalXmlParser.lengthAttr(c, \"val\", LengthUsage.FontSize);\n break;\n case \"shd\":\n style[\"background-color\"] = xmlUtil.colorAttr(c, \"fill\", null, autos.shd);\n break;\n case \"highlight\":\n style[\"background-color\"] = xmlUtil.colorAttr(c, \"val\", null, autos.highlight);\n break;\n case \"vertAlign\":\n break;\n case \"position\":\n style.verticalAlign = globalXmlParser.lengthAttr(c, \"val\", LengthUsage.FontSize);\n break;\n case \"tcW\":\n if (this.options.ignoreWidth)\n break;\n case \"tblW\":\n style[\"width\"] = values.valueOfSize(c, \"w\");\n break;\n case \"trHeight\":\n this.parseTrHeight(c, style);\n break;\n case \"strike\":\n style[\"text-decoration\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"line-through\" : \"none\";\n break;\n case \"b\":\n style[\"font-weight\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"bold\" : \"normal\";\n break;\n case \"i\":\n style[\"font-style\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"italic\" : \"normal\";\n break;\n case \"caps\":\n style[\"text-transform\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"uppercase\" : \"none\";\n break;\n case \"smallCaps\":\n style[\"font-variant\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"small-caps\" : \"none\";\n break;\n case \"u\":\n this.parseUnderline(c, style);\n break;\n case \"ind\":\n case \"tblInd\":\n this.parseIndentation(c, style);\n break;\n case \"rFonts\":\n this.parseFont(c, style);\n break;\n case \"tblBorders\":\n this.parseBorderProperties(c, childStyle || style);\n break;\n case \"tblCellSpacing\":\n style[\"border-spacing\"] = values.valueOfMargin(c);\n style[\"border-collapse\"] = \"separate\";\n break;\n case \"pBdr\":\n this.parseBorderProperties(c, style);\n break;\n case \"bdr\":\n style[\"border\"] = values.valueOfBorder(c);\n break;\n case \"tcBorders\":\n this.parseBorderProperties(c, style);\n break;\n case \"vanish\":\n if (globalXmlParser.boolAttr(c, \"val\", true))\n style[\"display\"] = \"none\";\n break;\n case \"kern\":\n break;\n case \"noWrap\":\n break;\n case \"tblCellMar\":\n case \"tcMar\":\n this.parseMarginProperties(c, childStyle || style);\n break;\n case \"tblLayout\":\n style[\"table-layout\"] = values.valueOfTblLayout(c);\n break;\n case \"vAlign\":\n style[\"vertical-align\"] = values.valueOfTextAlignment(c);\n break;\n case \"spacing\":\n if (elem.localName == \"pPr\")\n this.parseSpacing(c, style);\n break;\n case \"wordWrap\":\n if (globalXmlParser.boolAttr(c, \"val\"))\n style[\"overflow-wrap\"] = \"break-word\";\n break;\n case \"suppressAutoHyphens\":\n style[\"hyphens\"] = globalXmlParser.boolAttr(c, \"val\", true) ? \"none\" : \"auto\";\n break;\n case \"lang\":\n style[\"$lang\"] = globalXmlParser.attr(c, \"val\");\n break;\n case \"rtl\":\n case \"bidi\":\n if (globalXmlParser.boolAttr(c, \"val\", true))\n style[\"direction\"] = \"rtl\";\n break;\n case \"bCs\":\n case \"iCs\":\n case \"szCs\":\n case \"tabs\":\n case \"outlineLvl\":\n case \"contextualSpacing\":\n case \"tblStyleColBandSize\":\n case \"tblStyleRowBandSize\":\n case \"webHidden\":\n case \"pageBreakBefore\":\n case \"suppressLineNumbers\":\n case \"keepLines\":\n case \"keepNext\":\n case \"widowControl\":\n case \"noProof\":\n break;\n default:\n if (this.options.debug)\n console.warn(`DOCX: Unknown document element: ${elem.localName}.${c.localName}`);\n break;\n }\n }\n return style;\n }\n parseUnderline(node, style) {\n var val = globalXmlParser.attr(node, \"val\");\n if (val == null)\n return;\n switch (val) {\n case \"dash\":\n case \"dashDotDotHeavy\":\n case \"dashDotHeavy\":\n case \"dashedHeavy\":\n case \"dashLong\":\n case \"dashLongHeavy\":\n case \"dotDash\":\n case \"dotDotDash\":\n style[\"text-decoration\"] = \"underline dashed\";\n break;\n case \"dotted\":\n case \"dottedHeavy\":\n style[\"text-decoration\"] = \"underline dotted\";\n break;\n case \"double\":\n style[\"text-decoration\"] = \"underline double\";\n break;\n case \"single\":\n case \"thick\":\n style[\"text-decoration\"] = \"underline\";\n break;\n case \"wave\":\n case \"wavyDouble\":\n case \"wavyHeavy\":\n style[\"text-decoration\"] = \"underline wavy\";\n break;\n case \"words\":\n style[\"text-decoration\"] = \"underline\";\n break;\n case \"none\":\n style[\"text-decoration\"] = \"none\";\n break;\n }\n var col = xmlUtil.colorAttr(node, \"color\");\n if (col)\n style[\"text-decoration-color\"] = col;\n }\n parseFont(node, style) {\n var ascii = globalXmlParser.attr(node, \"ascii\");\n var asciiTheme = values.themeValue(node, \"asciiTheme\");\n var eastAsia = globalXmlParser.attr(node, \"eastAsia\");\n var fonts = [ascii, asciiTheme, eastAsia].filter(x => x).map(x => encloseFontFamily(x));\n if (fonts.length > 0)\n style[\"font-family\"] = [...new Set(fonts)].join(', ');\n }\n parseIndentation(node, style) {\n var firstLine = globalXmlParser.lengthAttr(node, \"firstLine\");\n var hanging = globalXmlParser.lengthAttr(node, \"hanging\");\n var left = globalXmlParser.lengthAttr(node, \"left\");\n var start = globalXmlParser.lengthAttr(node, \"start\");\n var right = globalXmlParser.lengthAttr(node, \"right\");\n var end = globalXmlParser.lengthAttr(node, \"end\");\n if (firstLine)\n style[\"text-indent\"] = firstLine;\n if (hanging)\n style[\"text-indent\"] = `-${hanging}`;\n if (left || start)\n style[\"margin-inline-start\"] = left || start;\n if (right || end)\n style[\"margin-inline-end\"] = right || end;\n }\n parseSpacing(node, style) {\n var before = globalXmlParser.lengthAttr(node, \"before\");\n var after = globalXmlParser.lengthAttr(node, \"after\");\n var line = globalXmlParser.intAttr(node, \"line\", null);\n var lineRule = globalXmlParser.attr(node, \"lineRule\");\n if (before)\n style[\"margin-top\"] = before;\n if (after)\n style[\"margin-bottom\"] = after;\n if (line !== null) {\n switch (lineRule) {\n case \"auto\":\n style[\"line-height\"] = `${(line / 240).toFixed(2)}`;\n break;\n case \"atLeast\":\n style[\"line-height\"] = `calc(100% + ${line / 20}pt)`;\n break;\n default:\n style[\"line-height\"] = style[\"min-height\"] = `${line / 20}pt`;\n break;\n }\n }\n }\n parseMarginProperties(node, output) {\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"left\":\n output[\"padding-left\"] = values.valueOfMargin(c);\n break;\n case \"right\":\n output[\"padding-right\"] = values.valueOfMargin(c);\n break;\n case \"top\":\n output[\"padding-top\"] = values.valueOfMargin(c);\n break;\n case \"bottom\":\n output[\"padding-bottom\"] = values.valueOfMargin(c);\n break;\n }\n }\n }\n parseTrHeight(node, output) {\n switch (globalXmlParser.attr(node, \"hRule\")) {\n case \"exact\":\n output[\"height\"] = globalXmlParser.lengthAttr(node, \"val\");\n break;\n case \"atLeast\":\n default:\n output[\"height\"] = globalXmlParser.lengthAttr(node, \"val\");\n break;\n }\n }\n parseBorderProperties(node, output) {\n for (const c of globalXmlParser.elements(node)) {\n switch (c.localName) {\n case \"start\":\n case \"left\":\n output[\"border-left\"] = values.valueOfBorder(c);\n break;\n case \"end\":\n case \"right\":\n output[\"border-right\"] = values.valueOfBorder(c);\n break;\n case \"top\":\n output[\"border-top\"] = values.valueOfBorder(c);\n break;\n case \"bottom\":\n output[\"border-bottom\"] = values.valueOfBorder(c);\n break;\n }\n }\n }\n}\nconst knownColors = ['black', 'blue', 'cyan', 'darkBlue', 'darkCyan', 'darkGray', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow', 'green', 'lightGray', 'magenta', 'none', 'red', 'white', 'yellow'];\nclass xmlUtil {\n static colorAttr(node, attrName, defValue = null, autoColor = 'black') {\n var v = globalXmlParser.attr(node, attrName);\n if (v) {\n if (v == \"auto\") {\n return autoColor;\n }\n else if (knownColors.includes(v)) {\n return v;\n }\n return `#${v}`;\n }\n var themeColor = globalXmlParser.attr(node, \"themeColor\");\n return themeColor ? `var(--docx-${themeColor}-color)` : defValue;\n }\n}\nclass values {\n static themeValue(c, attr) {\n var val = globalXmlParser.attr(c, attr);\n return val ? `var(--docx-${val}-font)` : null;\n }\n static valueOfSize(c, attr) {\n var type = LengthUsage.Dxa;\n switch (globalXmlParser.attr(c, \"type\")) {\n case \"dxa\": break;\n case \"pct\":\n type = LengthUsage.Percent;\n break;\n case \"auto\": return \"auto\";\n }\n return globalXmlParser.lengthAttr(c, attr, type);\n }\n static valueOfMargin(c) {\n return globalXmlParser.lengthAttr(c, \"w\");\n }\n static valueOfBorder(c) {\n var type = values.parseBorderType(globalXmlParser.attr(c, \"val\"));\n if (type == \"none\")\n return \"none\";\n var color = xmlUtil.colorAttr(c, \"color\");\n var size = globalXmlParser.lengthAttr(c, \"sz\", LengthUsage.Border);\n return `${size} ${type} ${color == \"auto\" ? autos.borderColor : color}`;\n }\n static parseBorderType(type) {\n switch (type) {\n case \"single\": return \"solid\";\n case \"dashDotStroked\": return \"solid\";\n case \"dashed\": return \"dashed\";\n case \"dashSmallGap\": return \"dashed\";\n case \"dotDash\": return \"dotted\";\n case \"dotDotDash\": return \"dotted\";\n case \"dotted\": return \"dotted\";\n case \"double\": return \"double\";\n case \"doubleWave\": return \"double\";\n case \"inset\": return \"inset\";\n case \"nil\": return \"none\";\n case \"none\": return \"none\";\n case \"outset\": return \"outset\";\n case \"thick\": return \"solid\";\n case \"thickThinLargeGap\": return \"solid\";\n case \"thickThinMediumGap\": return \"solid\";\n case \"thickThinSmallGap\": return \"solid\";\n case \"thinThickLargeGap\": return \"solid\";\n case \"thinThickMediumGap\": return \"solid\";\n case \"thinThickSmallGap\": return \"solid\";\n case \"thinThickThinLargeGap\": return \"solid\";\n case \"thinThickThinMediumGap\": return \"solid\";\n case \"thinThickThinSmallGap\": return \"solid\";\n case \"threeDEmboss\": return \"solid\";\n case \"threeDEngrave\": return \"solid\";\n case \"triple\": return \"double\";\n case \"wave\": return \"solid\";\n }\n return 'solid';\n }\n static valueOfTblLayout(c) {\n var type = globalXmlParser.attr(c, \"val\");\n return type == \"fixed\" ? \"fixed\" : \"auto\";\n }\n static classNameOfCnfStyle(c) {\n const val = globalXmlParser.attr(c, \"val\");\n const classes = [\n 'first-row', 'last-row', 'first-col', 'last-col',\n 'odd-col', 'even-col', 'odd-row', 'even-row',\n 'ne-cell', 'nw-cell', 'se-cell', 'sw-cell'\n ];\n if (val)\n return classes.filter((_, i) => val[i] == '1').join(' ');\n const attrs = [\n 'firstRow', 'lastRow', 'firstColumn', 'lastColumn',\n 'oddVBand', 'evenVBand', 'oddHBand', 'evenHBand',\n 'firstRowLastColumn', 'firstRowFirstColumn', 'lastRowLastColumn', 'lastRowFirstColumn'\n ];\n return classes.filter((_, i) => globalXmlParser.boolAttr(c, attrs[i])).join(' ');\n }\n static valueOfJc(c) {\n var type = globalXmlParser.attr(c, \"val\");\n switch (type) {\n case \"start\":\n case \"left\": return \"left\";\n case \"center\": return \"center\";\n case \"end\":\n case \"right\": return \"right\";\n case \"both\": return \"justify\";\n }\n return type;\n }\n static valueOfVertAlign(c, asTagName = false) {\n var type = globalXmlParser.attr(c, \"val\");\n switch (type) {\n case \"subscript\": return \"sub\";\n case \"superscript\": return asTagName ? \"sup\" : \"super\";\n }\n return asTagName ? null : type;\n }\n static valueOfTextAlignment(c) {\n var type = globalXmlParser.attr(c, \"val\");\n switch (type) {\n case \"auto\":\n case \"baseline\": return \"baseline\";\n case \"top\": return \"top\";\n case \"center\": return \"middle\";\n case \"bottom\": return \"bottom\";\n }\n return type;\n }\n static addSize(a, b) {\n if (a == null)\n return b;\n if (b == null)\n return a;\n return `calc(${a} + ${b})`;\n }\n static classNameOftblLook(c) {\n const val = globalXmlParser.hexAttr(c, \"val\", 0);\n let className = \"\";\n if (globalXmlParser.boolAttr(c, \"firstRow\") || (val & 0x0020))\n className += \" first-row\";\n if (globalXmlParser.boolAttr(c, \"lastRow\") || (val & 0x0040))\n className += \" last-row\";\n if (globalXmlParser.boolAttr(c, \"firstColumn\") || (val & 0x0080))\n className += \" first-col\";\n if (globalXmlParser.boolAttr(c, \"lastColumn\") || (val & 0x0100))\n className += \" last-col\";\n if (globalXmlParser.boolAttr(c, \"noHBand\") || (val & 0x0200))\n className += \" no-hband\";\n if (globalXmlParser.boolAttr(c, \"noVBand\") || (val & 0x0400))\n className += \" no-vband\";\n return className.trim();\n }\n}\n\nconst defaultTab = { pos: 0, leader: \"none\", style: \"left\" };\nconst maxTabs = 50;\nfunction computePixelToPoint(container = document.body) {\n const temp = document.createElement(\"div\");\n temp.style.width = '100pt';\n container.appendChild(temp);\n const result = 100 / temp.offsetWidth;\n container.removeChild(temp);\n return result;\n}\nfunction updateTabStop(elem, tabs, defaultTabSize, pixelToPoint = 72 / 96) {\n const p = elem.closest(\"p\");\n const ebb = elem.getBoundingClientRect();\n const pbb = p.getBoundingClientRect();\n const pcs = getComputedStyle(p);\n const tabStops = tabs?.length > 0 ? tabs.map(t => ({\n pos: lengthToPoint(t.position),\n leader: t.leader,\n style: t.style\n })).sort((a, b) => a.pos - b.pos) : [defaultTab];\n const lastTab = tabStops[tabStops.length - 1];\n const pWidthPt = pbb.width * pixelToPoint;\n const size = lengthToPoint(defaultTabSize);\n let pos = lastTab.pos + size;\n if (pos < pWidthPt) {\n for (; pos < pWidthPt && tabStops.length < maxTabs; pos += size) {\n tabStops.push({ ...defaultTab, pos: pos });\n }\n }\n const marginLeft = parseFloat(pcs.marginLeft);\n const pOffset = pbb.left + marginLeft;\n const left = (ebb.left - pOffset) * pixelToPoint;\n const tab = tabStops.find(t => t.style != \"clear\" && t.pos > left);\n if (tab == null)\n return;\n let width = 1;\n if (tab.style == \"right\" || tab.style == \"center\") {\n const tabStops = Array.from(p.querySelectorAll(`.${elem.className}`));\n const nextIdx = tabStops.indexOf(elem) + 1;\n const range = document.createRange();\n range.setStart(elem, 1);\n if (nextIdx < tabStops.length) {\n range.setEndBefore(tabStops[nextIdx]);\n }\n else {\n range.setEndAfter(p);\n }\n const mul = tab.style == \"center\" ? 0.5 : 1;\n const nextBB = range.getBoundingClientRect();\n const offset = nextBB.left + mul * nextBB.width - (pbb.left - marginLeft);\n width = tab.pos - offset * pixelToPoint;\n }\n else {\n width = tab.pos - left;\n }\n elem.innerHTML = \" \";\n elem.style.textDecoration = \"inherit\";\n elem.style.wordSpacing = `${width.toFixed(0)}pt`;\n switch (tab.leader) {\n case \"dot\":\n case \"middleDot\":\n elem.style.textDecoration = \"underline\";\n elem.style.textDecorationStyle = \"dotted\";\n break;\n case \"hyphen\":\n case \"heavy\":\n case \"underscore\":\n elem.style.textDecoration = \"underline\";\n break;\n }\n}\nfunction lengthToPoint(length) {\n return parseFloat(length);\n}\n\nvar ns;\n(function (ns) {\n ns[\"html\"] = \"http://www.w3.org/1999/xhtml\";\n ns[\"svg\"] = \"http://www.w3.org/2000/svg\";\n ns[\"mathML\"] = \"http://www.w3.org/1998/Math/MathML\";\n})(ns || (ns = {}));\nfunction h(elem) {\n if (isString(elem))\n return document.createTextNode(elem);\n if (elem instanceof Node)\n return elem;\n const { ns, tagName, className, style, children, ...props } = elem;\n if (tagName === \"#fragment\")\n return document.createDocumentFragment();\n if (tagName === \"#comment\")\n return document.createComment(children[0]);\n const result = (ns ? document.createElementNS(ns, tagName) : document.createElement(tagName));\n if (className)\n result.setAttribute(\"class\", className);\n if (style) {\n if (isString(style)) {\n result.setAttribute(\"style\", style);\n }\n else {\n Object.assign(result.style, style);\n }\n }\n if (props) {\n for (const [key, value] of Object.entries(props))\n if (value !== undefined)\n result[key] = value;\n }\n if (children)\n children.forEach(c => result.appendChild(h(c)));\n return result;\n}\nfunction cx(...classNames) {\n return classNames.filter(Boolean).join(\" \");\n}\n\nclass HtmlRenderer {\n constructor() {\n this.className = \"docx\";\n this.styleMap = {};\n this.currentPart = null;\n this.tableVerticalMerges = [];\n this.currentVerticalMerge = null;\n this.tableCellPositions = [];\n this.currentCellPosition = null;\n this.footnoteMap = {};\n this.endnoteMap = {};\n this.currentEndnoteIds = [];\n this.usedHederFooterParts = [];\n this.currentTabs = [];\n this.commentMap = {};\n this.tasks = [];\n this.postRenderTasks = [];\n this.h = h;\n }\n async render(document, options) {\n this.document = document;\n this.options = options;\n this.className = options.className;\n this.rootSelector = options.inWrapper ? `.${this.className}-wrapper` : ':root';\n this.h = options.h ?? h;\n this.styleMap = null;\n this.tasks = [];\n if (this.options.renderComments && globalThis.Highlight) {\n this.commentHighlight = new Highlight();\n }\n const result = [...this.renderDefaultStyle()];\n if (document.themePart) {\n result.push(...this.renderTheme(document.themePart));\n }\n if (document.stylesPart != null) {\n this.styleMap = this.processStyles(document.stylesPart.styles);\n result.push(...this.renderStyles(document.stylesPart.styles));\n }\n if (document.numberingPart) {\n this.prodessNumberings(document.numberingPart.domNumberings);\n result.push(...await this.renderNumbering(document.numberingPart.domNumberings));\n }\n if (document.footnotesPart) {\n this.footnoteMap = keyBy(document.footnotesPart.notes, x => x.id);\n }\n if (document.endnotesPart) {\n this.endnoteMap = keyBy(document.endnotesPart.notes, x => x.id);\n }\n if (document.settingsPart) {\n this.defaultTabSize = document.settingsPart.settings?.defaultTabStop;\n }\n if (!options.ignoreFonts && document.fontTablePart)\n result.push(...await this.renderFontTable(document.fontTablePart));\n var sectionElements = this.renderSections(document.documentPart.body);\n if (this.options.inWrapper) {\n result.push(this.renderWrapper(sectionElements));\n }\n else {\n result.push(...sectionElements);\n }\n if (this.commentHighlight && options.renderComments) {\n CSS.highlights.set(`${this.className}-comments`, this.commentHighlight);\n }\n this.postRenderTasks.forEach(t => t());\n await Promise.allSettled(this.tasks);\n this.refreshTabStops();\n return result;\n }\n renderTheme(themePart) {\n const variables = {};\n const fontScheme = themePart.theme?.fontScheme;\n if (fontScheme) {\n if (fontScheme.majorFont) {\n variables['--docx-majorHAnsi-font'] = fontScheme.majorFont.latinTypeface;\n }\n if (fontScheme.minorFont) {\n variables['--docx-minorHAnsi-font'] = fontScheme.minorFont.latinTypeface;\n }\n }\n const colorScheme = themePart.theme?.colorScheme;\n if (colorScheme) {\n for (let [k, v] of Object.entries(colorScheme.colors)) {\n variables[`--docx-${k}-color`] = `#${v}`;\n }\n }\n const cssText = this.styleToString(`.${this.className}`, variables);\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs document theme values\"] }),\n this.h({ tagName: \"style\", children: [cssText] })\n ];\n }\n async renderFontTable(fontsPart) {\n const result = [];\n for (let f of fontsPart.fonts) {\n for (let ref of f.embedFontRefs) {\n try {\n const fontData = await this.document.loadFont(ref.id, ref.key);\n const cssValues = {\n 'font-family': encloseFontFamily(f.name),\n 'src': `url(${fontData})`\n };\n if (ref.type == \"bold\" || ref.type == \"boldItalic\") {\n cssValues['font-weight'] = 'bold';\n }\n if (ref.type == \"italic\" || ref.type == \"boldItalic\") {\n cssValues['font-style'] = 'italic';\n }\n result.push(this.h({ tagName: \"#comment\", children: [`docxjs ${f.name} font`] }));\n result.push(this.h({ tagName: \"style\", children: [this.styleToString(`@font-face`, cssValues)] }));\n }\n catch (e) {\n if (this.options.debug)\n console.warn(`Can't load font with id ${ref.id} and key ${ref.key}`);\n }\n }\n }\n return result;\n }\n processStyleName(className) {\n return className ? `${this.className}_${escapeClassName(className)}` : this.className;\n }\n processStyles(styles) {\n const stylesMap = keyBy(styles.filter(x => x.id != null), x => x.id);\n for (const style of styles.filter(x => x.basedOn)) {\n var baseStyle = stylesMap[style.basedOn];\n if (baseStyle) {\n style.paragraphProps = mergeDeep(style.paragraphProps, baseStyle.paragraphProps);\n style.runProps = mergeDeep(style.runProps, baseStyle.runProps);\n for (const baseValues of baseStyle.styles) {\n const styleValues = style.styles.find(x => x.target == baseValues.target);\n if (styleValues) {\n this.copyStyleProperties(baseValues.values, styleValues.values);\n }\n else {\n style.styles.push({ ...baseValues, values: { ...baseValues.values } });\n }\n }\n }\n else if (this.options.debug)\n console.warn(`Can't find base style ${style.basedOn}`);\n }\n for (let style of styles) {\n style.cssName = this.processStyleName(style.id);\n }\n return stylesMap;\n }\n prodessNumberings(numberings) {\n for (let num of numberings.filter(n => n.pStyleName)) {\n const style = this.findStyle(num.pStyleName);\n if (style?.paragraphProps?.numbering) {\n style.paragraphProps.numbering.level = num.level;\n }\n }\n }\n processElement(element) {\n if (element.children) {\n for (var e of element.children) {\n e.parent = element;\n if (e.type == DomType.Table) {\n this.processTable(e);\n }\n else {\n this.processElement(e);\n }\n }\n }\n }\n processTable(table) {\n for (var r of table.children) {\n for (var c of r.children) {\n c.cssStyle = this.copyStyleProperties(table.cellStyle, c.cssStyle, [\n \"border-left\", \"border-right\", \"border-top\", \"border-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"padding-bottom\"\n ]);\n this.processElement(c);\n }\n }\n }\n copyStyleProperties(input, output, attrs = null) {\n if (!input)\n return output;\n if (output == null)\n output = {};\n if (attrs == null)\n attrs = Object.getOwnPropertyNames(input);\n for (var key of attrs) {\n if (input.hasOwnProperty(key) && !output.hasOwnProperty(key))\n output[key] = input[key];\n }\n return output;\n }\n createPageElement(className, props, docStyle) {\n const style = { ...docStyle };\n if (props) {\n if (props.pageMargins) {\n style.paddingLeft = props.pageMargins.left;\n style.paddingRight = props.pageMargins.right;\n style.paddingTop = props.pageMargins.top;\n style.paddingBottom = props.pageMargins.bottom;\n }\n if (props.pageSize) {\n if (!this.options.ignoreWidth)\n style.width = props.pageSize.width;\n if (!this.options.ignoreHeight)\n style.minHeight = props.pageSize.height;\n }\n }\n return this.h({ tagName: \"section\", className, style });\n }\n createSectionContent(props) {\n const style = {};\n if (props.columns && props.columns.numberOfColumns) {\n style.columnCount = `${props.columns.numberOfColumns}`;\n style.columnGap = props.columns.space;\n if (props.columns.separator) {\n style.columnRule = \"1px solid black\";\n }\n }\n return this.h({ tagName: \"article\", style });\n }\n renderSections(document) {\n const result = [];\n this.processElement(document);\n const sections = this.splitBySection(document.children, document.props);\n const pages = this.groupByPageBreaks(sections);\n let prevProps = null;\n for (let i = 0, l = pages.length; i < l; i++) {\n this.currentFootnoteIds = [];\n const section = pages[i][0];\n let props = section.sectProps;\n const pageElement = this.createPageElement(this.className, props, document.cssStyle);\n this.options.renderHeaders && this.renderHeaderFooter(props.headerRefs, props, result.length, prevProps != props, pageElement);\n for (const sect of pages[i]) {\n var contentElement = this.createSectionContent(sect.sectProps);\n this.renderElements(sect.elements, contentElement);\n pageElement.appendChild(contentElement);\n props = sect.sectProps;\n }\n if (this.options.renderFootnotes) {\n const notes = this.renderNotes(this.currentFootnoteIds, this.footnoteMap);\n notes && pageElement.appendChild(notes);\n }\n if (this.options.renderEndnotes && i == l - 1) {\n const notes = this.renderNotes(this.currentEndnoteIds, this.endnoteMap);\n notes && pageElement.appendChild(notes);\n }\n this.options.renderFooters && this.renderHeaderFooter(props.footerRefs, props, result.length, prevProps != props, pageElement);\n result.push(pageElement);\n prevProps = props;\n }\n return result;\n }\n renderHeaderFooter(refs, props, page, firstOfSection, into) {\n if (!refs)\n return;\n var ref = (props.titlePage && firstOfSection ? refs.find(x => x.type == \"first\") : null)\n ?? (page % 2 == 1 ? refs.find(x => x.type == \"even\") : null)\n ?? refs.find(x => x.type == \"default\");\n var part = ref && this.document.findPartByRelId(ref.id, this.document.documentPart);\n if (part) {\n this.currentPart = part;\n if (!this.usedHederFooterParts.includes(part.path)) {\n this.processElement(part.rootElement);\n this.usedHederFooterParts.push(part.path);\n }\n const [el] = this.renderElements([part.rootElement], into);\n if (props?.pageMargins) {\n if (part.rootElement.type === DomType.Header) {\n el.style.marginTop = `calc(${props.pageMargins.header} - ${props.pageMargins.top})`;\n el.style.minHeight = `calc(${props.pageMargins.top} - ${props.pageMargins.header})`;\n }\n else if (part.rootElement.type === DomType.Footer) {\n el.style.marginBottom = `calc(${props.pageMargins.footer} - ${props.pageMargins.bottom})`;\n el.style.minHeight = `calc(${props.pageMargins.bottom} - ${props.pageMargins.footer})`;\n }\n }\n this.currentPart = null;\n }\n }\n isPageBreakElement(elem) {\n if (elem.type != DomType.Break)\n return false;\n if (elem.break == \"lastRenderedPageBreak\")\n return !this.options.ignoreLastRenderedPageBreak;\n return elem.break == \"page\";\n }\n isPageBreakSection(prev, next) {\n if (!prev)\n return false;\n if (!next)\n return false;\n return prev.pageSize?.orientation != next.pageSize?.orientation\n || prev.pageSize?.width != next.pageSize?.width\n || prev.pageSize?.height != next.pageSize?.height;\n }\n splitBySection(elements, defaultProps) {\n var current = { sectProps: null, elements: [], pageBreak: false };\n var result = [current];\n for (let elem of elements) {\n if (elem.type == DomType.Paragraph) {\n const s = this.findStyle(elem.styleName);\n if (s?.paragraphProps?.pageBreakBefore) {\n current.sectProps = sectProps;\n current.pageBreak = true;\n current = { sectProps: null, elements: [], pageBreak: false };\n result.push(current);\n }\n }\n current.elements.push(elem);\n if (elem.type == DomType.Paragraph) {\n const p = elem;\n var sectProps = p.sectionProps;\n var pBreakIndex = -1;\n var rBreakIndex = -1;\n if (this.options.breakPages && p.children) {\n pBreakIndex = p.children.findIndex(r => {\n rBreakIndex = r.children?.findIndex(this.isPageBreakElement.bind(this)) ?? -1;\n return rBreakIndex != -1;\n });\n }\n if (sectProps || pBreakIndex != -1) {\n current.sectProps = sectProps;\n current.pageBreak = pBreakIndex != -1;\n current = { sectProps: null, elements: [], pageBreak: false };\n result.push(current);\n }\n if (pBreakIndex != -1) {\n let breakRun = p.children[pBreakIndex];\n let splitRun = rBreakIndex < breakRun.children.length - 1;\n if (pBreakIndex < p.children.length - 1 || splitRun) {\n var children = elem.children;\n var newParagraph = { ...elem, children: children.slice(pBreakIndex) };\n elem.children = children.slice(0, pBreakIndex);\n current.elements.push(newParagraph);\n if (splitRun) {\n let runChildren = breakRun.children;\n let newRun = { ...breakRun, children: runChildren.slice(0, rBreakIndex) };\n elem.children.push(newRun);\n breakRun.children = runChildren.slice(rBreakIndex);\n }\n }\n }\n }\n }\n let currentSectProps = null;\n for (let i = result.length - 1; i >= 0; i--) {\n if (result[i].sectProps == null) {\n result[i].sectProps = currentSectProps ?? defaultProps;\n }\n else {\n currentSectProps = result[i].sectProps;\n }\n }\n return result;\n }\n groupByPageBreaks(sections) {\n let current = [];\n let prev;\n const result = [current];\n for (let s of sections) {\n current.push(s);\n if (this.options.ignoreLastRenderedPageBreak || s.pageBreak || this.isPageBreakSection(prev, s.sectProps))\n result.push(current = []);\n prev = s.sectProps;\n }\n return result.filter(x => x.length > 0);\n }\n renderWrapper(children) {\n return this.h({ tagName: \"div\", className: `${this.className}-wrapper`, children });\n }\n renderDefaultStyle() {\n var c = this.className;\n var wrapperStyle = `\r\n.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } \r\n.${c}-wrapper>section.${c} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; }`;\n if (this.options.hideWrapperOnPrint) {\n wrapperStyle = `@media not print { ${wrapperStyle} }`;\n }\n var styleText = `${wrapperStyle}\r\n.${c} { color: black; hyphens: auto; text-underline-position: from-font; }\r\nsection.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; }\r\nsection.${c}>article { margin-bottom: auto; z-index: 1; }\r\nsection.${c}>footer { z-index: 1; }\r\n.${c} table { border-collapse: collapse; }\r\n.${c} table td, .${c} table th { vertical-align: top; }\r\n.${c} p { margin: 0pt; min-height: 1em; }\r\n.${c} span { white-space: pre-wrap; overflow-wrap: break-word; }\r\n.${c} a { color: inherit; text-decoration: inherit; }\r\n.${c} svg { fill: transparent; }\r\n`;\n if (this.options.renderComments) {\n styleText += `\r\n.${c}-comment-ref { cursor: default; }\r\n.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; }\r\n.${c}-comment-ref:hover~.${c}-comment-popover { display: block; }\r\n.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; }\r\n`;\n }\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs library predefined styles\"] }),\n this.h({ tagName: \"style\", children: [styleText] })\n ];\n }\n async renderNumbering(numberings) {\n var styleText = \"\";\n var resetCounters = [];\n for (var num of numberings) {\n var selector = `p.${this.numberingClass(num.id, num.level)}`;\n var listStyleType = \"none\";\n if (num.bullet) {\n let valiable = `--${this.className}-${num.bullet.src}`.toLowerCase();\n styleText += this.styleToString(`${selector}:before`, {\n \"content\": \"' '\",\n \"display\": \"inline-block\",\n \"background\": `var(${valiable})`\n }, num.bullet.style);\n try {\n const imgData = await this.document.loadNumberingImage(num.bullet.src);\n styleText += `${this.rootSelector} { ${valiable}: url(${imgData}) }`;\n }\n catch (e) {\n if (this.options.debug)\n console.warn(`Can't load numbering image with src ${num.bullet.src}`);\n }\n }\n else if (num.levelText) {\n let counter = this.numberingCounter(num.id, num.level);\n const counterReset = counter + \" \" + (num.start - 1);\n if (num.level > 0) {\n styleText += this.styleToString(`p.${this.numberingClass(num.id, num.level - 1)}`, {\n \"counter-set\": counterReset\n });\n }\n resetCounters.push(counterReset);\n styleText += this.styleToString(`${selector}:before`, {\n \"content\": this.levelTextToContent(num.levelText, num.suff, num.id, this.numFormatToCssValue(num.format)),\n \"counter-increment\": counter,\n ...num.rStyle,\n });\n }\n else {\n listStyleType = this.numFormatToCssValue(num.format);\n }\n styleText += this.styleToString(selector, {\n \"display\": \"list-item\",\n \"list-style-position\": \"inside\",\n \"list-style-type\": listStyleType,\n ...num.pStyle\n });\n }\n if (resetCounters.length > 0) {\n styleText += this.styleToString(this.rootSelector, {\n \"counter-reset\": resetCounters.join(\" \")\n });\n }\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs document numbering styles\"] }),\n this.h({ tagName: \"style\", children: [styleText] })\n ];\n }\n renderStyles(styles) {\n var styleText = \"\";\n const stylesMap = this.styleMap;\n const defautStyles = keyBy(styles.filter(s => s.isDefault), s => s.target);\n for (const style of styles) {\n var subStyles = style.styles;\n if (style.linked) {\n var linkedStyle = style.linked && stylesMap[style.linked];\n if (linkedStyle)\n subStyles = subStyles.concat(linkedStyle.styles);\n else if (this.options.debug)\n console.warn(`Can't find linked style ${style.linked}`);\n }\n for (const subStyle of subStyles) {\n var selector = `${style.target ?? ''}.${style.cssName}`;\n if (style.target != subStyle.target)\n selector += ` ${subStyle.target}`;\n if (defautStyles[style.target] == style)\n selector = `.${this.className} ${style.target}, ` + selector;\n styleText += this.styleToString(selector, subStyle.values);\n }\n }\n return [\n this.h({ tagName: \"#comment\", children: [\"docxjs document styles\"] }),\n this.h({ tagName: \"style\", children: [styleText] })\n ];\n }\n renderNotes(noteIds, notesMap) {\n var notes = noteIds.map(id => notesMap[id]).filter(x => x);\n if (notes.length > 0) {\n return this.h({ tagName: \"ol\", children: this.renderElements(notes) });\n }\n }\n renderElement(elem) {\n switch (elem.type) {\n case DomType.Paragraph:\n return this.renderParagraph(elem);\n case DomType.BookmarkStart:\n return this.renderBookmarkStart(elem);\n case DomType.BookmarkEnd:\n return null;\n case DomType.Run:\n return this.renderRun(elem);\n case DomType.Table:\n return this.renderTable(elem);\n case DomType.Row:\n return this.renderTableRow(elem);\n case DomType.Cell:\n return this.renderTableCell(elem);\n case DomType.Hyperlink:\n return this.renderHyperlink(elem);\n case DomType.SmartTag:\n return this.renderSmartTag(elem);\n case DomType.Drawing:\n return this.renderDrawing(elem);\n case DomType.Image:\n return this.renderImage(elem);\n case DomType.Text:\n return this.renderText(elem);\n case DomType.Text:\n return this.renderText(elem);\n case DomType.DeletedText:\n return this.renderDeletedText(elem);\n case DomType.Tab:\n return this.renderTab(elem);\n case DomType.Symbol:\n return this.renderSymbol(elem);\n case DomType.Break:\n return this.renderBreak(elem);\n case DomType.Footer:\n return this.renderContainer(elem, \"footer\");\n case DomType.Header:\n return this.renderContainer(elem, \"header\");\n case DomType.Footnote:\n case DomType.Endnote:\n return this.renderContainer(elem, \"li\");\n case DomType.FootnoteReference:\n return this.renderFootnoteReference(elem);\n case DomType.EndnoteReference:\n return this.renderEndnoteReference(elem);\n case DomType.NoBreakHyphen:\n return this.h({ tagName: \"wbr\" });\n case DomType.VmlPicture:\n return this.renderVmlPicture(elem);\n case DomType.VmlElement:\n return this.renderVmlElement(elem);\n case DomType.MmlMath:\n return this.renderContainerNS(elem, ns.mathML, \"math\", { xmlns: ns.mathML });\n case DomType.MmlMathParagraph:\n return this.renderContainer(elem, \"span\");\n case DomType.MmlFraction:\n return this.renderContainerNS(elem, ns.mathML, \"mfrac\");\n case DomType.MmlBase:\n return this.renderContainerNS(elem, ns.mathML, elem.parent.type == DomType.MmlMatrixRow ? \"mtd\" : \"mrow\");\n case DomType.MmlNumerator:\n case DomType.MmlDenominator:\n case DomType.MmlFunction:\n case DomType.MmlLimit:\n case DomType.MmlBox:\n return this.renderContainerNS(elem, ns.mathML, \"mrow\");\n case DomType.MmlGroupChar:\n return this.renderMmlGroupChar(elem);\n case DomType.MmlLimitLower:\n return this.renderContainerNS(elem, ns.mathML, \"munder\");\n case DomType.MmlMatrix:\n return this.renderContainerNS(elem, ns.mathML, \"mtable\");\n case DomType.MmlMatrixRow:\n return this.renderContainerNS(elem, ns.mathML, \"mtr\");\n case DomType.MmlRadical:\n return this.renderMmlRadical(elem);\n case DomType.MmlSuperscript:\n return this.renderContainerNS(elem, ns.mathML, \"msup\");\n case DomType.MmlSubscript:\n return this.renderContainerNS(elem, ns.mathML, \"msub\");\n case DomType.MmlDegree:\n case DomType.MmlSuperArgument:\n case DomType.MmlSubArgument:\n return this.renderContainerNS(elem, ns.mathML, \"mn\");\n case DomType.MmlFunctionName:\n return this.renderContainerNS(elem, ns.mathML, \"ms\");\n case DomType.MmlDelimiter:\n return this.renderMmlDelimiter(elem);\n case DomType.MmlRun:\n return this.renderMmlRun(elem);\n case DomType.MmlNary:\n return this.renderMmlNary(elem);\n case DomType.MmlPreSubSuper:\n return this.renderMmlPreSubSuper(elem);\n case DomType.MmlBar:\n return this.renderMmlBar(elem);\n case DomType.MmlEquationArray:\n return this.renderMllList(elem);\n case DomType.Inserted:\n return this.renderInserted(elem);\n case DomType.Deleted:\n return this.renderDeleted(elem);\n case DomType.CommentRangeStart:\n return this.renderCommentRangeStart(elem);\n case DomType.CommentRangeEnd:\n return this.renderCommentRangeEnd(elem);\n case DomType.CommentReference:\n return this.renderCommentReference(elem);\n case DomType.AltChunk:\n return this.renderAltChunk(elem);\n }\n return null;\n }\n renderElements(elems, into) {\n if (elems == null)\n return null;\n var result = elems.flatMap(e => this.renderElement(e)).filter(e => e != null);\n if (into)\n result.forEach(c => into.appendChild(isString(c) ? document.createTextNode(c) : c));\n return result;\n }\n renderContainer(elem, tagName, props) {\n return this.h({ tagName, children: this.renderElements(elem.children), ...props });\n }\n renderContainerNS(elem, ns, tagName, props) {\n return this.h({ ns, tagName, children: this.renderElements(elem.children), ...props });\n }\n renderParagraph(elem) {\n var result = this.toHTML(elem, ns.html, \"p\");\n const style = this.findStyle(elem.styleName);\n elem.tabs ?? (elem.tabs = style?.paragraphProps?.tabs);\n const numbering = elem.numbering ?? style?.paragraphProps?.numbering;\n if (numbering) {\n result.classList.add(this.numberingClass(numbering.id, numbering.level));\n }\n return result;\n }\n renderHyperlink(elem) {\n const res = this.toH(elem, ns.html, \"a\");\n res.href = '';\n if (elem.id) {\n const rel = this.document.documentPart.rels.find(it => it.id == elem.id && it.targetMode === \"External\");\n res.href = rel?.target ?? res.href;\n }\n if (elem.anchor) {\n res.href += `#${elem.anchor}`;\n }\n return this.h(res);\n }\n renderSmartTag(elem) {\n return this.renderContainer(elem, \"span\");\n }\n renderCommentRangeStart(commentStart) {\n if (!this.options.renderComments)\n return null;\n const rng = new Range();\n this.commentHighlight?.add(rng);\n const result = this.h({ tagName: \"#comment\", children: [`start of comment #${commentStart.id}`] });\n this.later(() => rng.setStart(result, 0));\n this.commentMap[commentStart.id] = rng;\n return result;\n }\n renderCommentRangeEnd(commentEnd) {\n if (!this.options.renderComments)\n return null;\n const rng = this.commentMap[commentEnd.id];\n const result = this.h({ tagName: \"#comment\", children: [`end of comment #${commentEnd.id}`] });\n this.later(() => rng?.setEnd(result, 0));\n return result;\n }\n renderCommentReference(commentRef) {\n if (!this.options.renderComments)\n return null;\n var comment = this.document.commentsPart?.commentMap[commentRef.id];\n if (!comment)\n return null;\n const commentRefEl = this.h({ tagName: \"span\", className: `${this.className}-comment-ref`, children: ['💬'] });\n const commentsContainerEl = this.h({\n tagName: \"div\", className: `${this.className}-comment-popover`, children: [\n this.h({ tagName: 'div', className: `${this.className}-comment-author`, children: [comment.author] }),\n this.h({ tagName: 'div', className: `${this.className}-comment-date`, children: [new Date(comment.date).toLocaleString()] }),\n ...this.renderElements(comment.children)\n ]\n });\n return this.h({ tagName: \"#fragment\", children: [\n this.h({ tagName: \"#comment\", children: [`comment #${comment.id} by ${comment.author} on ${comment.date}`] }),\n commentRefEl,\n commentsContainerEl\n ] });\n }\n renderAltChunk(elem) {\n if (!this.options.renderAltChunks)\n return null;\n var result = this.h({ tagName: \"iframe\" });\n this.tasks.push(this.document.loadAltChunk(elem.id, this.currentPart).then(x => {\n result.srcdoc = x;\n }));\n return result;\n }\n renderDrawing(elem) {\n var result = this.toHTML(elem, ns.html, \"div\");\n result.style.display = \"inline-block\";\n result.style.position = \"relative\";\n result.style.textIndent = \"0px\";\n return result;\n }\n renderImage(elem) {\n let result = this.toHTML(elem, ns.html, \"img\", []);\n let transform = elem.cssStyle?.transform;\n if (elem.srcRect && elem.srcRect.some(x => x != 0)) {\n var [left, top, right, bottom] = elem.srcRect;\n transform = `scale(${1 / (1 - left - right)}, ${1 / (1 - top - bottom)})`;\n result.style['clip-path'] = `rect(${(100 * top).toFixed(2)}% ${(100 * (1 - right)).toFixed(2)}% ${(100 * (1 - bottom)).toFixed(2)}% ${(100 * left).toFixed(2)}%)`;\n }\n if (elem.rotation)\n transform = `rotate(${elem.rotation}deg) ${transform ?? ''}`;\n result.style.transform = transform?.trim();\n if (this.document) {\n this.tasks.push(this.document.loadDocumentImage(elem.src, this.currentPart).then(x => {\n result.src = x;\n }));\n }\n return result;\n }\n renderText(elem) {\n return this.h(elem.text);\n }\n renderDeletedText(elem) {\n return this.options.renderChanges ? this.renderText(elem) : null;\n }\n renderBreak(elem) {\n return elem.break == \"textWrapping\" ? this.h({ tagName: \"br\" }) : null;\n }\n renderInserted(elem) {\n if (this.options.renderChanges)\n return this.renderChange(elem, \"ins\");\n return this.renderElements(elem.children);\n }\n renderDeleted(elem) {\n if (this.options.renderChanges)\n return this.renderChange(elem, \"del\");\n return null;\n }\n renderChange(elem, tag) {\n return this.renderContainer(elem, tag, {\n dateTime: elem.date\n });\n }\n renderSymbol(elem) {\n return this.h({ tagName: \"span\", children: [String.fromCharCode(elem.char)], style: { fontFamily: elem.font } });\n }\n renderFootnoteReference(elem) {\n this.currentFootnoteIds.push(elem.id);\n return this.h({ tagName: \"sup\", children: [`${this.currentFootnoteIds.length}`] });\n }\n renderEndnoteReference(elem) {\n this.currentEndnoteIds.push(elem.id);\n return this.h({ tagName: \"sup\", children: [`${this.currentEndnoteIds.length}`] });\n }\n renderTab(elem) {\n var tabSpan = this.h({ tagName: \"span\", children: [\"\\u2003\"] });\n if (this.options.experimental) {\n tabSpan.className = this.tabStopClass();\n var stops = findParent(elem, DomType.Paragraph)?.tabs;\n this.currentTabs.push({ stops, span: tabSpan });\n }\n return tabSpan;\n }\n renderBookmarkStart(elem) {\n return this.h({ tagName: \"span\", id: elem.name });\n }\n renderRun(elem) {\n if (elem.fieldRun)\n return null;\n let children = this.renderElements(elem.children);\n if (elem.verticalAlign) {\n children = [this.h({ tagName: elem.verticalAlign, children: this.renderElements(elem.children) })];\n }\n const result = this.toHTML(elem, ns.html, \"span\", children);\n if (elem.id)\n result.id = elem.id;\n return result;\n }\n renderTable(elem) {\n this.tableCellPositions.push(this.currentCellPosition);\n this.tableVerticalMerges.push(this.currentVerticalMerge);\n this.currentVerticalMerge = {};\n this.currentCellPosition = { col: 0, row: 0 };\n const children = [];\n if (elem.columns)\n children.push(this.renderTableColumns(elem.columns));\n children.push(...this.renderElements(elem.children));\n this.currentVerticalMerge = this.tableVerticalMerges.pop();\n this.currentCellPosition = this.tableCellPositions.pop();\n return this.toHTML(elem, ns.html, \"table\", children);\n }\n renderTableColumns(columns) {\n const children = columns.map(x => this.h({ tagName: \"col\", style: { width: x.width } }));\n return this.h({ tagName: \"colgroup\", children });\n }\n renderTableRow(elem) {\n this.currentCellPosition.col = 0;\n const children = [];\n if (elem.gridBefore)\n children.push(this.renderTableCellPlaceholder(elem.gridBefore));\n children.push(...this.renderElements(elem.children));\n if (elem.gridAfter)\n children.push(this.renderTableCellPlaceholder(elem.gridAfter));\n this.currentCellPosition.row++;\n return this.toHTML(elem, ns.html, \"tr\", children);\n }\n renderTableCellPlaceholder(colSpan) {\n return this.h({ tagName: \"td\", colSpan, style: { border: \"none\" } });\n }\n renderTableCell(elem) {\n let result = this.toHTML(elem, ns.html, \"td\");\n const key = this.currentCellPosition.col;\n if (elem.verticalMerge) {\n if (elem.verticalMerge == \"restart\") {\n this.currentVerticalMerge[key] = result;\n result.rowSpan = 1;\n }\n else if (this.currentVerticalMerge[key]) {\n this.currentVerticalMerge[key].rowSpan += 1;\n result.style.display = \"none\";\n }\n }\n else {\n this.currentVerticalMerge[key] = null;\n }\n if (elem.span)\n result.colSpan = elem.span;\n this.currentCellPosition.col += result.colSpan;\n return result;\n }\n renderVmlPicture(elem) {\n return this.renderContainer(elem, \"div\");\n }\n renderVmlElement(elem) {\n var container = this.h({ ns: ns.svg, tagName: \"svg\", style: elem.cssStyleText });\n const result = this.renderVmlChildElement(elem);\n if (elem.imageHref?.id) {\n this.tasks.push(this.document?.loadDocumentImage(elem.imageHref.id, this.currentPart)\n .then(x => result.setAttribute(\"href\", x)));\n }\n container.appendChild(result);\n requestAnimationFrame(() => {\n const bb = container.firstElementChild.getBBox();\n container.setAttribute(\"width\", `${Math.ceil(bb.x + bb.width)}`);\n container.setAttribute(\"height\", `${Math.ceil(bb.y + bb.height)}`);\n });\n return container;\n }\n renderVmlChildElement(elem) {\n const result = this.createSvgElement(elem.tagName);\n Object.entries(elem.attrs).forEach(([k, v]) => result.setAttribute(k, v));\n for (let child of elem.children) {\n if (child.type == DomType.VmlElement) {\n result.appendChild(this.renderVmlChildElement(child));\n }\n else {\n result.appendChild(...asArray(this.renderElement(child)));\n }\n }\n return result;\n }\n renderMmlRadical(elem) {\n const base = elem.children.find(el => el.type == DomType.MmlBase);\n if (elem.props?.hideDegree) {\n return this.createMathMLElement(\"msqrt\", null, this.renderElements([base]));\n }\n const degree = elem.children.find(el => el.type == DomType.MmlDegree);\n return this.createMathMLElement(\"mroot\", null, this.renderElements([base, degree]));\n }\n renderMmlDelimiter(elem) {\n const children = [];\n children.push(this.createMathMLElement(\"mo\", null, [elem.props.beginChar ?? '(']));\n children.push(...this.renderElements(elem.children));\n children.push(this.createMathMLElement(\"mo\", null, [elem.props.endChar ?? ')']));\n return this.createMathMLElement(\"mrow\", null, children);\n }\n renderMmlNary(elem) {\n const children = [];\n const grouped = keyBy(elem.children, x => x.type);\n const sup = grouped[DomType.MmlSuperArgument];\n const sub = grouped[DomType.MmlSubArgument];\n const supElem = sup ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sup))) : null;\n const subElem = sub ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sub))) : null;\n const charElem = this.createMathMLElement(\"mo\", null, [elem.props?.char ?? '\\u222B']);\n if (supElem || subElem) {\n children.push(this.createMathMLElement(\"munderover\", null, [charElem, subElem, supElem]));\n }\n else if (supElem) {\n children.push(this.createMathMLElement(\"mover\", null, [charElem, supElem]));\n }\n else if (subElem) {\n children.push(this.createMathMLElement(\"munder\", null, [charElem, subElem]));\n }\n else {\n children.push(charElem);\n }\n children.push(...this.renderElements(grouped[DomType.MmlBase].children));\n return this.createMathMLElement(\"mrow\", null, children);\n }\n renderMmlPreSubSuper(elem) {\n const children = [];\n const grouped = keyBy(elem.children, x => x.type);\n const sup = grouped[DomType.MmlSuperArgument];\n const sub = grouped[DomType.MmlSubArgument];\n const supElem = sup ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sup))) : null;\n const subElem = sub ? this.createMathMLElement(\"mo\", null, asArray(this.renderElement(sub))) : null;\n const stubElem = this.createMathMLElement(\"mo\", null);\n children.push(this.createMathMLElement(\"msubsup\", null, [stubElem, subElem, supElem]));\n children.push(...this.renderElements(grouped[DomType.MmlBase].children));\n return this.createMathMLElement(\"mrow\", null, children);\n }\n renderMmlGroupChar(elem) {\n const tagName = elem.props.verticalJustification === \"bot\" ? \"mover\" : \"munder\";\n const result = this.renderContainerNS(elem, ns.mathML, tagName);\n if (elem.props.char) {\n result.appendChild(this.createMathMLElement(\"mo\", null, [elem.props.char]));\n }\n return result;\n }\n renderMmlBar(elem) {\n const style = {};\n switch (elem.props.position) {\n case \"top\":\n style.textDecoration = \"overline\";\n break;\n case \"bottom\":\n style.textDecoration = \"underline\";\n break;\n }\n return this.renderContainerNS(elem, ns.mathML, \"mrow\", { style });\n }\n renderMmlRun(elem) {\n return this.toHTML(elem, ns.mathML, \"ms\");\n }\n renderMllList(elem) {\n const children = this.renderElements(elem.children).map(x => this.createMathMLElement(\"mtr\", null, [\n this.createMathMLElement(\"mtd\", null, [x])\n ]));\n return this.toHTML(elem, ns.mathML, \"mtable\", children);\n }\n toH(elem, ns, tagName, children = null) {\n const { \"$lang\": lang, ...style } = elem.cssStyle ?? {};\n const className = cx(elem.className, elem.styleName && this.processStyleName(elem.styleName));\n return { ns, tagName, className, lang, style, children: children ?? this.renderElements(elem.children) };\n }\n toHTML(elem, ns, tagName, children = null) {\n return this.h(this.toH(elem, ns, tagName, children));\n }\n findStyle(styleName) {\n return styleName && this.styleMap?.[styleName];\n }\n numberingClass(id, lvl) {\n return `${this.className}-num-${id}-${lvl}`;\n }\n tabStopClass() {\n return `${this.className}-tab-stop`;\n }\n styleToString(selectors, values, cssText = null) {\n let result = `${selectors} {\\r\\n`;\n for (const key in values) {\n if (key.startsWith('$'))\n continue;\n result += ` ${key}: ${values[key]};\\r\\n`;\n }\n if (cssText)\n result += cssText;\n return result + \"}\\r\\n\";\n }\n numberingCounter(id, lvl) {\n return `${this.className}-num-${id}-${lvl}`;\n }\n levelTextToContent(text, suff, id, numformat) {\n const suffMap = {\n \"tab\": \"\\\\9\",\n \"space\": \"\\\\a0\",\n };\n var result = text.replace(/%\\d*/g, s => {\n let lvl = parseInt(s.substring(1), 10) - 1;\n return `\"counter(${this.numberingCounter(id, lvl)}, ${numformat})\"`;\n });\n return `\"${result}${suffMap[suff] ?? \"\"}\"`;\n }\n numFormatToCssValue(format) {\n var mapping = {\n none: \"none\",\n bullet: \"disc\",\n decimal: \"decimal\",\n lowerLetter: \"lower-alpha\",\n upperLetter: \"upper-alpha\",\n lowerRoman: \"lower-roman\",\n upperRoman: \"upper-roman\",\n decimalZero: \"decimal-leading-zero\",\n aiueo: \"katakana\",\n aiueoFullWidth: \"katakana\",\n chineseCounting: \"simp-chinese-informal\",\n chineseCountingThousand: \"simp-chinese-informal\",\n chineseLegalSimplified: \"simp-chinese-formal\",\n chosung: \"hangul-consonant\",\n ideographDigital: \"cjk-ideographic\",\n ideographTraditional: \"cjk-heavenly-stem\",\n ideographLegalTraditional: \"trad-chinese-formal\",\n ideographZodiac: \"cjk-earthly-branch\",\n iroha: \"katakana-iroha\",\n irohaFullWidth: \"katakana-iroha\",\n japaneseCounting: \"japanese-informal\",\n japaneseDigitalTenThousand: \"cjk-decimal\",\n japaneseLegal: \"japanese-formal\",\n thaiNumbers: \"thai\",\n koreanCounting: \"korean-hangul-formal\",\n koreanDigital: \"korean-hangul-formal\",\n koreanDigital2: \"korean-hanja-informal\",\n hebrew1: \"hebrew\",\n hebrew2: \"hebrew\",\n hindiNumbers: \"devanagari\",\n ganada: \"hangul\",\n taiwaneseCounting: \"cjk-ideographic\",\n taiwaneseCountingThousand: \"cjk-ideographic\",\n taiwaneseDigital: \"cjk-decimal\",\n };\n return mapping[format] ?? format;\n }\n refreshTabStops() {\n if (!this.options.experimental)\n return;\n setTimeout(() => {\n const pixelToPoint = computePixelToPoint();\n for (let tab of this.currentTabs) {\n updateTabStop(tab.span, tab.stops, this.defaultTabSize, pixelToPoint);\n }\n }, 500);\n }\n createElementNS(ns, tagName, props, children) {\n return this.h({ ns, tagName, children, ...props });\n }\n createElement(tagName, props, children) {\n return this.createElementNS(ns.html, tagName, props, children);\n }\n createMathMLElement(tagName, props, children) {\n return this.createElementNS(ns.mathML, tagName, props, children);\n }\n createSvgElement(tagName, props, children) {\n return this.createElementNS(ns.svg, tagName, props, children);\n }\n later(func) {\n this.postRenderTasks.push(func);\n }\n}\nfunction findParent(elem, type) {\n var parent = elem.parent;\n while (parent != null && parent.type != type)\n parent = parent.parent;\n return parent;\n}\n\nconst defaultOptions = {\n ignoreHeight: false,\n ignoreWidth: false,\n ignoreFonts: false,\n breakPages: true,\n debug: false,\n experimental: false,\n className: \"docx\",\n inWrapper: true,\n hideWrapperOnPrint: false,\n trimXmlDeclaration: true,\n ignoreLastRenderedPageBreak: true,\n renderHeaders: true,\n renderFooters: true,\n renderFootnotes: true,\n renderEndnotes: true,\n useBase64URL: false,\n renderChanges: false,\n renderComments: false,\n renderAltChunks: true,\n h: h\n};\nfunction parseAsync(data, userOptions) {\n const ops = { ...defaultOptions, ...userOptions };\n return WordDocument.load(data, new DocumentParser(ops), ops);\n}\nasync function renderDocument(document, userOptions) {\n const ops = { ...defaultOptions, ...userOptions };\n const renderer = new HtmlRenderer();\n return await renderer.render(document, ops);\n}\nasync function renderAsync(data, bodyContainer, styleContainer, userOptions) {\n const doc = await parseAsync(data, userOptions);\n const nodes = await renderDocument(doc, userOptions);\n styleContainer ?? (styleContainer = bodyContainer);\n styleContainer.innerHTML = \"\";\n bodyContainer.innerHTML = \"\";\n for (let n of nodes) {\n const c = n.nodeName === \"STYLE\" ? styleContainer : bodyContainer;\n c.appendChild(n);\n }\n return doc;\n}\n\nexport { defaultOptions, parseAsync, renderAsync, renderDocument };\n//# sourceMappingURL=docx-preview.mjs.map\n"],"names":["h","e","require","t","r","c","n","i","s","a","o","global","u","l","f","d","p","m","RelationshipTypes","SectionType","DomType","tabStops","ns","document","_a","values"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,MAAC,SAAS,GAAE;AAAyD,aAAA,UAAe;IAAuL,GAAE,WAAU;AAAC,cAAO,SAAS,EAAE,GAAE,GAAEA,IAAE;AAAC,iBAAS,EAAE,GAAEC,IAAE;AAAC,cAAG,CAAC,EAAE,CAAC,GAAE;AAAC,gBAAG,CAAC,EAAE,CAAC,GAAE;AAAC,kBAAI,IAAE,cAAY,OAAOC,mBAASA;AAAQ,kBAAG,CAACD,MAAG,EAAE,QAAO,EAAE,GAAE,IAAE;AAAE,kBAAG,EAAE,QAAO,EAAE,GAAE,IAAE;AAAE,kBAAI,IAAE,IAAI,MAAM,yBAAuB,IAAE,GAAG;AAAE,oBAAM,EAAE,OAAK,oBAAmB;AAAA,YAAC;AAAC,gBAAI,IAAE,EAAE,CAAC,IAAE,EAAC,SAAQ,CAAA,EAAE;AAAE,cAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAQ,SAASA,IAAE;AAAC,kBAAIE,KAAE,EAAE,CAAC,EAAE,CAAC,EAAEF,EAAC;AAAE,qBAAO,EAAEE,MAAGF,EAAC;AAAA,YAAC,GAAE,GAAE,EAAE,SAAQ,GAAE,GAAE,GAAED,EAAC;AAAA,UAAC;AAAC,iBAAO,EAAE,CAAC,EAAE;AAAA,QAAO;AAAC,iBAAQ,IAAE,cAAY,OAAOE,mBAASA,iBAAQ,IAAE,GAAE,IAAEF,GAAE,QAAO,IAAI,GAAEA,GAAE,CAAC,CAAC;AAAE,eAAO;AAAA,MAAC,GAAE,EAAC,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,WAAW,GAAE,IAAE;AAAoE,UAAE,SAAO,SAASC,IAAE;AAAC,mBAAQE,IAAEC,IAAE,GAAE,GAAE,GAAE,GAAE,GAAEJ,KAAE,CAAA,GAAG,IAAE,GAAE,IAAEC,GAAE,QAAO,IAAE,GAAEI,KAAE,aAAW,EAAE,UAAUJ,EAAC,GAAE,IAAEA,GAAE,SAAQ,KAAE,IAAE,GAAE,IAAEI,MAAGF,KAAEF,GAAE,GAAG,GAAEG,KAAE,IAAE,IAAEH,GAAE,GAAG,IAAE,GAAE,IAAE,IAAEA,GAAE,GAAG,IAAE,MAAIE,KAAEF,GAAE,WAAW,GAAG,GAAEG,KAAE,IAAE,IAAEH,GAAE,WAAW,GAAG,IAAE,GAAE,IAAE,IAAEA,GAAE,WAAW,GAAG,IAAE,IAAG,IAAEE,MAAG,GAAE,KAAG,IAAEA,OAAI,IAAEC,MAAG,GAAE,IAAE,IAAE,KAAG,KAAGA,OAAI,IAAE,KAAG,IAAE,IAAG,IAAE,IAAE,IAAE,KAAG,IAAE,IAAGJ,GAAE,KAAK,EAAE,OAAO,CAAC,IAAE,EAAE,OAAO,CAAC,IAAE,EAAE,OAAO,CAAC,IAAE,EAAE,OAAO,CAAC,CAAC;AAAE,iBAAOA,GAAE,KAAK,EAAE;AAAA,QAAC,GAAE,EAAE,SAAO,SAASC,IAAE;AAAC,cAAIE,IAAEC,IAAE,GAAE,GAAE,GAAE,GAAE,IAAE,GAAEJ,KAAE,GAAE,IAAE;AAAQ,cAAGC,GAAE,OAAO,GAAE,EAAE,MAAM,MAAI,EAAE,OAAM,IAAI,MAAM,iDAAiD;AAAE,cAAI,GAAE,IAAE,KAAGA,KAAEA,GAAE,QAAQ,oBAAmB,EAAE,GAAG,SAAO;AAAE,cAAGA,GAAE,OAAOA,GAAE,SAAO,CAAC,MAAI,EAAE,OAAO,EAAE,KAAG,KAAIA,GAAE,OAAOA,GAAE,SAAO,CAAC,MAAI,EAAE,OAAO,EAAE,KAAG,KAAI,IAAE,KAAG,EAAE,OAAM,IAAI,MAAM,2CAA2C;AAAE,eAAI,IAAE,EAAE,aAAW,IAAI,WAAW,IAAE,CAAC,IAAE,IAAI,MAAM,IAAE,CAAC,GAAE,IAAEA,GAAE,SAAQ,CAAAE,KAAE,EAAE,QAAQF,GAAE,OAAO,GAAG,CAAC,KAAG,KAAG,IAAE,EAAE,QAAQA,GAAE,OAAO,GAAG,CAAC,MAAI,GAAEG,MAAG,KAAG,MAAI,KAAG,IAAE,EAAE,QAAQH,GAAE,OAAO,GAAG,CAAC,MAAI,GAAE,KAAG,IAAE,MAAI,KAAG,IAAE,EAAE,QAAQA,GAAE,OAAO,GAAG,CAAC,IAAG,EAAED,IAAG,IAAEG,IAAE,OAAK,MAAI,EAAEH,IAAG,IAAEI,KAAG,OAAK,MAAI,EAAEJ,IAAG,IAAE;AAAG,iBAAO;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,aAAY,IAAG,WAAU,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,qBAAqB,GAAE,IAAE,EAAE,qBAAqB,GAAE,IAAE,EAAE,0BAA0B;AAAE,iBAAS,EAAEC,IAAEE,IAAEC,IAAEE,IAAEC,IAAE;AAAC,eAAK,iBAAeN,IAAE,KAAK,mBAAiBE,IAAE,KAAK,QAAMC,IAAE,KAAK,cAAYE,IAAE,KAAK,oBAAkBC;AAAA,QAAC;AAAC,UAAE,YAAU,EAAC,kBAAiB,WAAU;AAAC,cAAIN,KAAE,IAAI,EAAE,EAAE,QAAQ,QAAQ,KAAK,iBAAiB,CAAC,EAAE,KAAK,KAAK,YAAY,kBAAkB,EAAE,KAAK,IAAI,EAAE,aAAa,CAAC,GAAEE,KAAE;AAAK,iBAAOF,GAAE,GAAG,OAAM,WAAU;AAAC,gBAAG,KAAK,WAAW,gBAAcE,GAAE,iBAAiB,OAAM,IAAI,MAAM,uCAAuC;AAAA,UAAC,CAAC,GAAEF;AAAA,QAAC,GAAE,qBAAoB,WAAU;AAAC,iBAAO,IAAI,EAAE,EAAE,QAAQ,QAAQ,KAAK,iBAAiB,CAAC,EAAE,eAAe,kBAAiB,KAAK,cAAc,EAAE,eAAe,oBAAmB,KAAK,gBAAgB,EAAE,eAAe,SAAQ,KAAK,KAAK,EAAE,eAAe,eAAc,KAAK,WAAW;AAAA,QAAC,EAAC,GAAE,EAAE,mBAAiB,SAASA,IAAEE,IAAEC,IAAE;AAAC,iBAAOH,GAAE,KAAK,IAAI,GAAC,EAAE,KAAK,IAAI,EAAE,kBAAkB,CAAC,EAAE,KAAKE,GAAE,eAAeC,EAAC,CAAC,EAAE,KAAK,IAAI,EAAE,gBAAgB,CAAC,EAAE,eAAe,eAAcD,EAAC;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,cAAa,GAAE,uBAAsB,IAAG,4BAA2B,IAAG,uBAAsB,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,wBAAwB;AAAE,UAAE,QAAM,EAAC,OAAM,QAAO,gBAAe,WAAU;AAAC,iBAAO,IAAI,EAAE,mBAAmB;AAAA,QAAC,GAAE,kBAAiB,WAAU;AAAC,iBAAO,IAAI,EAAE,qBAAqB;AAAA,QAAC,EAAC,GAAE,EAAE,UAAQ,EAAE,SAAS;AAAA,MAAC,GAAE,EAAC,WAAU,GAAE,0BAAyB,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,SAAS;AAAE,YAAI,KAAE,WAAU;AAAC,mBAAQF,IAAEE,KAAE,IAAGC,KAAE,GAAEA,KAAE,KAAIA,MAAI;AAAC,YAAAH,KAAEG;AAAE,qBAAQE,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAAL,KAAE,IAAEA,KAAE,aAAWA,OAAI,IAAEA,OAAI;AAAE,YAAAE,GAAEC,EAAC,IAAEH;AAAA,UAAC;AAAC,iBAAOE;AAAA,QAAC,GAAC;AAAG,UAAE,UAAQ,SAASF,IAAEE,IAAE;AAAC,iBAAO,WAASF,MAAGA,GAAE,SAAO,aAAW,EAAE,UAAUA,EAAC,KAAE,SAASA,IAAEE,IAAEC,IAAEE,IAAE;AAAC,gBAAI,IAAE,GAAE,IAAEA,KAAEF;AAAE,YAAAH,MAAG;AAAG,qBAAQ,IAAEK,IAAE,IAAE,GAAE,IAAI,CAAAL,KAAEA,OAAI,IAAE,EAAE,OAAKA,KAAEE,GAAE,CAAC,EAAE;AAAE,mBAAM,KAAGF;AAAA,UAAC,GAAE,IAAEE,IAAEF,IAAEA,GAAE,QAAO,CAAC,KAAE,SAASA,IAAEE,IAAEC,IAAEE,IAAE;AAAC,gBAAI,IAAE,GAAE,IAAEA,KAAEF;AAAE,YAAAH,MAAG;AAAG,qBAAQ,IAAEK,IAAE,IAAE,GAAE,IAAI,CAAAL,KAAEA,OAAI,IAAE,EAAE,OAAKA,KAAEE,GAAE,WAAW,CAAC,EAAE;AAAE,wBAASF;AAAA,UAAC,GAAE,IAAEE,IAAEF,IAAEA,GAAE,QAAO,CAAC,IAAE;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,WAAU,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,SAAO,OAAG,EAAE,SAAO,OAAG,EAAE,MAAI,OAAG,EAAE,gBAAc,MAAG,EAAE,OAAK,MAAK,EAAE,cAAY,MAAK,EAAE,qBAAmB,MAAK,EAAE,UAAQ,MAAK,EAAE,kBAAgB,MAAK,EAAE,iBAAe;AAAA,MAAI,GAAE,EAAE,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE;AAAK,YAAE,eAAa,OAAO,UAAQ,UAAQ,EAAE,KAAK,GAAE,EAAE,UAAQ,EAAC,SAAQ,EAAC;AAAA,MAAC,GAAE,EAAC,KAAI,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,eAAa,OAAO,cAAY,eAAa,OAAO,eAAa,eAAa,OAAO,aAAY,IAAE,EAAE,MAAM,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,wBAAwB,GAAE,IAAE,IAAE,eAAa;AAAQ,iBAASD,GAAEC,IAAEE,IAAE;AAAC,YAAE,KAAK,MAAK,iBAAeF,EAAC,GAAE,KAAK,QAAM,MAAK,KAAK,cAAYA,IAAE,KAAK,eAAaE,IAAE,KAAK,OAAK,CAAA;AAAA,QAAE;AAAC,UAAE,QAAM,QAAO,EAAE,SAASH,IAAE,CAAC,GAAEA,GAAE,UAAU,eAAa,SAASC,IAAE;AAAC,eAAK,OAAKA,GAAE,MAAK,SAAO,KAAK,SAAO,KAAK,YAAW,GAAG,KAAK,MAAM,KAAK,EAAE,YAAY,GAAEA,GAAE,IAAI,GAAE,KAAE;AAAA,QAAC,GAAED,GAAE,UAAU,QAAM,WAAU;AAAC,YAAE,UAAU,MAAM,KAAK,IAAI,GAAE,SAAO,KAAK,SAAO,KAAK,YAAW,GAAG,KAAK,MAAM,KAAK,CAAA,GAAG,IAAE;AAAA,QAAC,GAAEA,GAAE,UAAU,UAAQ,WAAU;AAAC,YAAE,UAAU,QAAQ,KAAK,IAAI,GAAE,KAAK,QAAM;AAAA,QAAI,GAAEA,GAAE,UAAU,cAAY,WAAU;AAAC,eAAK,QAAM,IAAI,EAAE,KAAK,WAAW,EAAE,EAAC,KAAI,MAAG,OAAM,KAAK,aAAa,SAAO,GAAE,CAAC;AAAE,cAAIG,KAAE;AAAK,eAAK,MAAM,SAAO,SAASF,IAAE;AAAC,YAAAE,GAAE,KAAK,EAAC,MAAKF,IAAE,MAAKE,GAAE,KAAI,CAAC;AAAA,UAAC;AAAA,QAAC,GAAE,EAAE,iBAAe,SAASF,IAAE;AAAC,iBAAO,IAAID,GAAE,WAAUC,EAAC;AAAA,QAAC,GAAE,EAAE,mBAAiB,WAAU;AAAC,iBAAO,IAAID,GAAE,WAAU,CAAA,CAAE;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,0BAAyB,IAAG,WAAU,IAAG,MAAK,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,iBAAS,EAAEC,IAAEE,IAAE;AAAC,cAAIC,IAAEE,KAAE;AAAG,eAAIF,KAAE,GAAEA,KAAED,IAAEC,KAAI,CAAAE,MAAG,OAAO,aAAa,MAAIL,EAAC,GAAEA,QAAK;AAAE,iBAAOK;AAAA,QAAC;AAAC,iBAAS,EAAEL,IAAEE,IAAEC,IAAEE,IAAEC,IAAEC,IAAE;AAAC,cAAI,GAAE,GAAER,KAAEC,GAAE,MAAK,IAAEA,GAAE,aAAY,IAAEO,OAAI,EAAE,YAAW,IAAE,EAAE,YAAY,UAASA,GAAER,GAAE,IAAI,CAAC,GAAE,IAAE,EAAE,YAAY,UAAS,EAAE,WAAWA,GAAE,IAAI,CAAC,GAAE,IAAEA,GAAE,SAAQ,IAAE,EAAE,YAAY,UAASQ,GAAE,CAAC,CAAC,GAAE,IAAE,EAAE,YAAY,UAAS,EAAE,WAAW,CAAC,CAAC,GAAE,IAAE,EAAE,WAASR,GAAE,KAAK,QAAO,IAAE,EAAE,WAAS,EAAE,QAAO,IAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAEA,GAAE,KAAI,IAAEA,GAAE,MAAK,IAAE,EAAC,OAAM,GAAE,gBAAe,GAAE,kBAAiB,EAAC;AAAE,UAAAG,MAAG,CAACC,OAAI,EAAE,QAAMH,GAAE,OAAM,EAAE,iBAAeA,GAAE,gBAAe,EAAE,mBAAiBA,GAAE;AAAkB,cAAI,IAAE;AAAE,UAAAE,OAAI,KAAG,IAAG,KAAG,CAAC,KAAG,CAAC,MAAI,KAAG;AAAM,cAAI,IAAE,GAAE,IAAE;AAAE,gBAAI,KAAG,KAAI,WAASI,MAAG,IAAE,KAAI,MAAG,SAASN,IAAEE,IAAE;AAAC,gBAAIC,KAAEH;AAAE,mBAAOA,OAAIG,KAAED,KAAE,QAAM,SAAQ,QAAMC,OAAI;AAAA,UAAE,GAAEJ,GAAE,iBAAgB,CAAC,MAAI,IAAE,IAAG,MAAG,SAASC,IAAE;AAAC,mBAAO,MAAIA,MAAG;AAAA,UAAE,GAAED,GAAE,cAAc,IAAG,IAAE,EAAE,YAAW,GAAG,MAAI,GAAE,KAAG,EAAE,iBAAgB,MAAI,GAAE,KAAG,EAAE,cAAa,IAAG,GAAE,IAAE,EAAE,mBAAiB,MAAK,MAAI,GAAE,KAAG,EAAE,YAAW,IAAG,GAAE,MAAI,GAAE,KAAG,EAAE,cAAa,MAAI,IAAE,EAAE,GAAE,CAAC,IAAE,EAAE,EAAE,CAAC,GAAE,CAAC,IAAE,GAAE,KAAG,OAAK,EAAE,EAAE,QAAO,CAAC,IAAE,IAAG,MAAI,IAAE,EAAE,GAAE,CAAC,IAAE,EAAE,EAAE,CAAC,GAAE,CAAC,IAAE,GAAE,KAAG,OAAK,EAAE,EAAE,QAAO,CAAC,IAAE;AAAG,cAAI,IAAE;AAAG,iBAAO,KAAG,QAAO,KAAG,EAAE,GAAE,CAAC,GAAE,KAAG,EAAE,OAAM,KAAG,EAAE,GAAE,CAAC,GAAE,KAAG,EAAE,GAAE,CAAC,GAAE,KAAG,EAAE,EAAE,OAAM,CAAC,GAAE,KAAG,EAAE,EAAE,gBAAe,CAAC,GAAE,KAAG,EAAE,EAAE,kBAAiB,CAAC,GAAE,KAAG,EAAE,EAAE,QAAO,CAAC,GAAE,KAAG,EAAE,EAAE,QAAO,CAAC,GAAE,EAAC,YAAW,EAAE,oBAAkB,IAAE,IAAE,GAAE,WAAU,EAAE,sBAAoB,EAAE,GAAE,CAAC,IAAE,IAAE,EAAE,EAAE,QAAO,CAAC,IAAE,aAAW,EAAE,GAAE,CAAC,IAAE,EAAEM,IAAE,CAAC,IAAE,IAAE,IAAE,EAAC;AAAA,QAAC;AAAC,YAAI,IAAE,EAAE,UAAU,GAAE,IAAE,EAAE,yBAAyB,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,UAAU,GAAE,IAAE,EAAE,cAAc;AAAE,iBAAS,EAAEL,IAAEE,IAAEC,IAAEE,IAAE;AAAC,YAAE,KAAK,MAAK,eAAe,GAAE,KAAK,eAAa,GAAE,KAAK,aAAWH,IAAE,KAAK,cAAYC,IAAE,KAAK,iBAAeE,IAAE,KAAK,cAAYL,IAAE,KAAK,aAAW,OAAG,KAAK,gBAAc,IAAG,KAAK,aAAW,CAAA,GAAG,KAAK,sBAAoB,GAAE,KAAK,eAAa,GAAE,KAAK,cAAY,MAAK,KAAK,WAAS;QAAE;AAAC,UAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,OAAK,SAASA,IAAE;AAAC,cAAIE,KAAEF,GAAE,KAAK,WAAS,GAAEG,KAAE,KAAK,cAAaE,KAAE,KAAK,SAAS;AAAO,eAAK,aAAW,KAAK,cAAc,KAAKL,EAAC,KAAG,KAAK,gBAAcA,GAAE,KAAK,QAAO,EAAE,UAAU,KAAK,KAAK,MAAK,EAAC,MAAKA,GAAE,MAAK,MAAK,EAAC,aAAY,KAAK,aAAY,SAAQG,MAAGD,KAAE,OAAKC,KAAEE,KAAE,MAAIF,KAAE,IAAG,EAAC,CAAC;AAAA,QAAE,GAAE,EAAE,UAAU,eAAa,SAASH,IAAE;AAAC,eAAK,sBAAoB,KAAK,cAAa,KAAK,cAAYA,GAAE,KAAK;AAAK,cAAIE,KAAE,KAAK,eAAa,CAACF,GAAE,KAAK;AAAI,cAAGE,IAAE;AAAC,gBAAIC,KAAE,EAAEH,IAAEE,IAAE,OAAG,KAAK,qBAAoB,KAAK,aAAY,KAAK,cAAc;AAAE,iBAAK,KAAK,EAAC,MAAKC,GAAE,YAAW,MAAK,EAAC,SAAQ,EAAC,EAAC,CAAC;AAAA,UAAC,MAAM,MAAK,aAAW;AAAA,QAAE,GAAE,EAAE,UAAU,eAAa,SAASH,IAAE;AAAC,eAAK,aAAW;AAAG,cAAIE,KAAE,KAAK,eAAa,CAACF,GAAE,KAAK,KAAIG,KAAE,EAAEH,IAAEE,IAAE,MAAG,KAAK,qBAAoB,KAAK,aAAY,KAAK,cAAc;AAAE,cAAG,KAAK,WAAW,KAAKC,GAAE,SAAS,GAAED,GAAE,MAAK,KAAK,EAAC,OAAK,SAASF,IAAE;AAAC,mBAAO,EAAE,kBAAgB,EAAEA,GAAE,OAAM,CAAC,IAAE,EAAEA,GAAE,gBAAe,CAAC,IAAE,EAAEA,GAAE,kBAAiB,CAAC;AAAA,UAAC,GAAEA,EAAC,GAAE,MAAK,EAAC,SAAQ,IAAG,EAAC,CAAC;AAAA,cAAO,MAAI,KAAK,KAAK,EAAC,MAAKG,GAAE,YAAW,MAAK,EAAC,SAAQ,EAAC,EAAC,CAAC,GAAE,KAAK,cAAc,SAAQ,MAAK,KAAK,KAAK,cAAc,MAAK,CAAE;AAAE,eAAK,cAAY;AAAA,QAAI,GAAE,EAAE,UAAU,QAAM,WAAU;AAAC,mBAAQH,KAAE,KAAK,cAAaE,KAAE,GAAEA,KAAE,KAAK,WAAW,QAAOA,KAAI,MAAK,KAAK,EAAC,MAAK,KAAK,WAAWA,EAAC,GAAE,MAAK,EAAC,SAAQ,IAAG,EAAC,CAAC;AAAE,cAAIC,KAAE,KAAK,eAAaH,IAAEK,MAAE,SAASL,IAAEE,IAAEC,IAAEE,IAAEC,IAAE;AAAC,gBAAIC,KAAE,EAAE,YAAY,UAASD,GAAED,EAAC,CAAC;AAAE,mBAAO,EAAE,wBAAsB,aAAW,EAAEL,IAAE,CAAC,IAAE,EAAEA,IAAE,CAAC,IAAE,EAAEE,IAAE,CAAC,IAAE,EAAEC,IAAE,CAAC,IAAE,EAAEI,GAAE,QAAO,CAAC,IAAEA;AAAA,UAAC,GAAE,KAAK,WAAW,QAAOJ,IAAEH,IAAE,KAAK,YAAW,KAAK,cAAc;AAAE,eAAK,KAAK,EAAC,MAAKK,IAAE,MAAK,EAAC,SAAQ,IAAG,EAAC,CAAC;AAAA,QAAC,GAAE,EAAE,UAAU,oBAAkB,WAAU;AAAC,eAAK,WAAS,KAAK,SAAS,MAAK,GAAG,KAAK,aAAa,KAAK,SAAS,UAAU,GAAE,KAAK,WAAS,KAAK,SAAS,MAAK,IAAG,KAAK,SAAS,OAAM;AAAA,QAAE,GAAE,EAAE,UAAU,mBAAiB,SAASL,IAAE;AAAC,eAAK,SAAS,KAAKA,EAAC;AAAE,cAAIE,KAAE;AAAK,iBAAOF,GAAE,GAAG,QAAO,SAASA,IAAE;AAAC,YAAAE,GAAE,aAAaF,EAAC;AAAA,UAAC,CAAC,GAAEA,GAAE,GAAG,OAAM,WAAU;AAAC,YAAAE,GAAE,aAAaA,GAAE,SAAS,UAAU,GAAEA,GAAE,SAAS,SAAOA,GAAE,kBAAiB,IAAGA,GAAE,IAAG;AAAA,UAAE,CAAC,GAAEF,GAAE,GAAG,SAAQ,SAASA,IAAE;AAAC,YAAAE,GAAE,MAAMF,EAAC;AAAA,UAAC,CAAC,GAAE;AAAA,QAAI,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,iBAAM,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,IAAI,MAAI,CAAC,KAAK,YAAU,KAAK,SAAS,UAAQ,KAAK,kBAAiB,GAAG,QAAI,KAAK,YAAU,KAAK,SAAS,UAAQ,KAAK,iBAAe,UAAQ,KAAK,IAAG,GAAG;AAAA,QAAI,GAAE,EAAE,UAAU,QAAM,SAASA,IAAE;AAAC,cAAIE,KAAE,KAAK;AAAS,cAAG,CAAC,EAAE,UAAU,MAAM,KAAK,MAAKF,EAAC,EAAE,QAAM;AAAG,mBAAQG,KAAE,GAAEA,KAAED,GAAE,QAAOC,KAAI,KAAG;AAAC,YAAAD,GAAEC,EAAC,EAAE,MAAMH,EAAC;AAAA,UAAC,SAAOA,IAAE;AAAA,UAAA;AAAE;QAAQ,GAAE,EAAE,UAAU,OAAK,WAAU;AAAC,YAAE,UAAU,KAAK,KAAK,IAAI;AAAE,mBAAQA,KAAE,KAAK,UAASE,KAAE,GAAEA,KAAEF,GAAE,QAAOE,KAAI,CAAAF,GAAEE,EAAC,EAAE,KAAI;AAAA,QAAE,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,GAAE,gBAAe,IAAG,2BAA0B,IAAG,WAAU,IAAG,YAAW,GAAE,CAAC,GAAE,GAAE,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,iBAAiB;AAAE,UAAE,iBAAe,SAASF,IAAE,GAAEE,IAAE;AAAC,cAAI,IAAE,IAAI,EAAE,EAAE,aAAYA,IAAE,EAAE,UAAS,EAAE,cAAc,GAAEH,KAAE;AAAE,cAAG;AAAC,YAAAC,GAAE,QAAQ,SAASA,IAAEE,IAAE;AAAC,cAAAH;AAAI,kBAAII,MAAE,SAASH,IAAEE,IAAE;AAAC,oBAAIC,KAAEH,MAAGE,IAAEG,KAAE,EAAEF,EAAC;AAAE,oBAAG,CAACE,GAAE,OAAM,IAAI,MAAMF,KAAE,sCAAsC;AAAE,uBAAOE;AAAA,cAAC,GAAEH,GAAE,QAAQ,aAAY,EAAE,WAAW,GAAEG,KAAEH,GAAE,QAAQ,sBAAoB,EAAE,sBAAoB,IAAG,IAAEA,GAAE,KAAI,IAAEA,GAAE;AAAK,cAAAA,GAAE,gBAAgBC,IAAEE,EAAC,EAAE,eAAe,QAAO,EAAC,MAAKL,IAAE,KAAI,GAAE,MAAK,GAAE,SAAQE,GAAE,WAAS,IAAG,iBAAgBA,GAAE,iBAAgB,gBAAeA,GAAE,eAAc,CAAC,EAAE,KAAK,CAAC;AAAA,YAAC,CAAC,GAAE,EAAE,eAAaH;AAAA,UAAC,SAAOC,IAAE;AAAC,cAAE,MAAMA,EAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,mBAAkB,GAAE,mBAAkB,EAAC,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,iBAAS,IAAG;AAAC,cAAG,EAAE,gBAAgB,GAAG,QAAO,IAAI;AAAE,cAAG,UAAU,OAAO,OAAM,IAAI,MAAM,gGAAgG;AAAE,eAAK,QAAM,uBAAO,OAAO,IAAI,GAAE,KAAK,UAAQ,MAAK,KAAK,OAAK,IAAG,KAAK,QAAM,WAAU;AAAC,gBAAIA,KAAE,IAAI;AAAE,qBAAQE,MAAK,KAAK,eAAY,OAAO,KAAKA,EAAC,MAAIF,GAAEE,EAAC,IAAE,KAAKA,EAAC;AAAG,mBAAOF;AAAA,UAAC;AAAA,QAAC;AAAC,SAAC,EAAE,YAAU,EAAE,UAAU,GAAG,YAAU,EAAE,QAAQ,GAAE,EAAE,UAAQ,EAAE,WAAW,GAAE,EAAE,WAAS,EAAE,YAAY,GAAE,EAAE,UAAQ,UAAS,EAAE,YAAU,SAASA,IAAEE,IAAE;AAAC,iBAAO,IAAI,IAAG,UAAUF,IAAEE,EAAC;AAAA,QAAC,GAAE,EAAE,WAAS,EAAE,YAAY,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,cAAa,GAAE,cAAa,GAAE,UAAS,IAAG,YAAW,IAAG,aAAY,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,cAAc,GAAE,IAAE,EAAE,qBAAqB,GAAE,IAAE,EAAE,eAAe;AAAE,iBAAS,EAAEG,IAAE;AAAC,iBAAO,IAAI,EAAE,QAAQ,SAASL,IAAEE,IAAE;AAAC,gBAAIC,KAAEE,GAAE,aAAa,iBAAgB,EAAG,KAAK,IAAI,GAAC;AAAE,YAAAF,GAAE,GAAG,SAAQ,SAASH,IAAE;AAAC,cAAAE,GAAEF,EAAC;AAAA,YAAC,CAAC,EAAE,GAAG,OAAM,WAAU;AAAC,cAAAG,GAAE,WAAW,UAAQE,GAAE,aAAa,QAAMH,GAAE,IAAI,MAAM,gCAAgC,CAAC,IAAEF;YAAG,CAAC,EAAE;UAAQ,CAAC;AAAA,QAAC;AAAC,UAAE,UAAQ,SAASA,IAAE,GAAE;AAAC,cAAID,KAAE;AAAK,iBAAO,IAAE,EAAE,OAAO,KAAG,CAAA,GAAG,EAAC,QAAO,OAAG,YAAW,OAAG,uBAAsB,OAAG,eAAc,OAAG,gBAAe,EAAE,WAAU,CAAC,GAAE,EAAE,UAAQ,EAAE,SAASC,EAAC,IAAE,EAAE,QAAQ,OAAO,IAAI,MAAM,sDAAsD,CAAC,IAAE,EAAE,eAAe,uBAAsBA,IAAE,MAAG,EAAE,uBAAsB,EAAE,MAAM,EAAE,KAAK,SAASA,IAAE;AAAC,gBAAIE,KAAE,IAAI,EAAE,CAAC;AAAE,mBAAOA,GAAE,KAAKF,EAAC,GAAEE;AAAA,UAAC,CAAC,EAAE,KAAK,SAASF,IAAE;AAAC,gBAAIE,KAAE,CAAC,EAAE,QAAQ,QAAQF,EAAC,CAAC,GAAEG,KAAEH,GAAE;AAAM,gBAAG,EAAE,WAAW,UAAQK,KAAE,GAAEA,KAAEF,GAAE,QAAOE,KAAI,CAAAH,GAAE,KAAK,EAAEC,GAAEE,EAAC,CAAC,CAAC;AAAE,mBAAO,EAAE,QAAQ,IAAIH,EAAC;AAAA,UAAC,CAAC,EAAE,KAAK,SAASF,IAAE;AAAC,qBAAQE,KAAEF,GAAE,MAAK,GAAGG,KAAED,GAAE,OAAMG,KAAE,GAAEA,KAAEF,GAAE,QAAOE,MAAI;AAAC,kBAAIC,KAAEH,GAAEE,EAAC,GAAEE,KAAED,GAAE,aAAYE,KAAE,EAAE,QAAQF,GAAE,WAAW;AAAE,cAAAP,GAAE,KAAKS,IAAEF,GAAE,cAAa,EAAC,QAAO,MAAG,uBAAsB,MAAG,MAAKA,GAAE,MAAK,KAAIA,GAAE,KAAI,SAAQA,GAAE,eAAe,SAAOA,GAAE,iBAAe,MAAK,iBAAgBA,GAAE,iBAAgB,gBAAeA,GAAE,gBAAe,eAAc,EAAE,cAAa,CAAC,GAAEA,GAAE,QAAMP,GAAE,KAAKS,EAAC,EAAE,qBAAmBD;AAAA,YAAE;AAAC,mBAAOL,GAAE,WAAW,WAASH,GAAE,UAAQG,GAAE,aAAYH;AAAA,UAAC,CAAC;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,cAAa,GAAE,iBAAgB,IAAG,uBAAsB,IAAG,UAAS,IAAG,WAAU,IAAG,gBAAe,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,UAAU,GAAE,IAAE,EAAE,yBAAyB;AAAE,iBAAS,EAAEC,IAAEE,IAAE;AAAC,YAAE,KAAK,MAAK,qCAAmCF,EAAC,GAAE,KAAK,iBAAe,OAAG,KAAK,YAAYE,EAAC;AAAA,QAAC;AAAC,UAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,cAAY,SAASF,IAAE;AAAC,cAAIE,KAAE;AAAK,WAAC,KAAK,UAAQF,IAAG,SAAQA,GAAE,GAAG,QAAO,SAASA,IAAE;AAAC,YAAAE,GAAE,KAAK,EAAC,MAAKF,IAAE,MAAK,EAAC,SAAQ,EAAC,EAAC,CAAC;AAAA,UAAC,CAAC,EAAE,GAAG,SAAQ,SAASA,IAAE;AAAC,YAAAE,GAAE,WAAS,KAAK,iBAAeF,KAAEE,GAAE,MAAMF,EAAC;AAAA,UAAC,CAAC,EAAE,GAAG,OAAM,WAAU;AAAC,YAAAE,GAAE,WAASA,GAAE,iBAAe,OAAGA,GAAE,IAAG;AAAA,UAAE,CAAC;AAAA,QAAC,GAAE,EAAE,UAAU,QAAM,WAAU;AAAC,iBAAM,CAAC,CAAC,EAAE,UAAU,MAAM,KAAK,IAAI,MAAI,KAAK,QAAQ,SAAQ;AAAA,QAAG,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,iBAAM,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,IAAI,MAAI,KAAK,iBAAe,KAAK,IAAG,IAAG,KAAK,QAAQ,OAAM,GAAG;AAAA,QAAG,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,2BAA0B,IAAG,YAAW,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,EAAE;AAAS,iBAAS,EAAEF,IAAEE,IAAEC,IAAE;AAAC,YAAE,KAAK,MAAKD,EAAC,GAAE,KAAK,UAAQF;AAAE,cAAIK,KAAE;AAAK,UAAAL,GAAE,GAAG,QAAO,SAASA,IAAEE,IAAE;AAAC,YAAAG,GAAE,KAAKL,EAAC,KAAGK,GAAE,QAAQ,MAAK,GAAGF,MAAGA,GAAED,EAAC;AAAA,UAAC,CAAC,EAAE,GAAG,SAAQ,SAASF,IAAE;AAAC,YAAAK,GAAE,KAAK,SAAQL,EAAC;AAAA,UAAC,CAAC,EAAE,GAAG,OAAM,WAAU;AAAC,YAAAK,GAAE,KAAK,IAAI;AAAA,UAAC,CAAC;AAAA,QAAC;AAAC,UAAE,UAAU,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,QAAM,WAAU;AAAC,eAAK,QAAQ,OAAM;AAAA,QAAE,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,EAAC,QAAO,eAAa,OAAO,QAAO,eAAc,SAASL,IAAEE,IAAE;AAAC,cAAG,OAAO,QAAM,OAAO,SAAO,WAAW,KAAK,QAAO,OAAO,KAAKF,IAAEE,EAAC;AAAE,cAAG,YAAU,OAAOF,GAAE,OAAM,IAAI,MAAM,0CAA0C;AAAE,iBAAO,IAAI,OAAOA,IAAEE,EAAC;AAAA,QAAC,GAAE,aAAY,SAASF,IAAE;AAAC,cAAG,OAAO,MAAM,QAAO,OAAO,MAAMA,EAAC;AAAE,cAAIE,KAAE,IAAI,OAAOF,EAAC;AAAE,iBAAOE,GAAE,KAAK,CAAC,GAAEA;AAAA,QAAC,GAAE,UAAS,SAASF,IAAE;AAAC,iBAAO,OAAO,SAASA,EAAC;AAAA,QAAC,GAAE,UAAS,SAASA,IAAE;AAAC,iBAAOA,MAAG,cAAY,OAAOA,GAAE,MAAI,cAAY,OAAOA,GAAE,SAAO,cAAY,OAAOA,GAAE;AAAA,QAAM,EAAC;AAAA,MAAC,GAAE,EAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,iBAAS,EAAEA,IAAEE,IAAEC,IAAE;AAAC,cAAIE,IAAEC,KAAE,EAAE,UAAUJ,EAAC,GAAEK,KAAE,EAAE,OAAOJ,MAAG,CAAA,GAAG,CAAC;AAAE,UAAAI,GAAE,OAAKA,GAAE,QAAM,oBAAI,QAAK,SAAOA,GAAE,gBAAcA,GAAE,cAAYA,GAAE,YAAY,YAAW,IAAI,YAAU,OAAOA,GAAE,oBAAkBA,GAAE,kBAAgB,SAASA,GAAE,iBAAgB,CAAC,IAAGA,GAAE,mBAAiB,QAAMA,GAAE,oBAAkBA,GAAE,MAAI,OAAIA,GAAE,kBAAgB,KAAGA,GAAE,mBAAiBA,GAAE,MAAI,OAAIA,GAAE,QAAMP,KAAE,EAAEA,EAAC,IAAGO,GAAE,kBAAgBF,KAAE,EAAEL,EAAC,MAAI,EAAE,KAAK,MAAKK,IAAE,IAAE;AAAE,cAAIG,KAAE,aAAWF,MAAG,UAAKC,GAAE,UAAQ,UAAKA,GAAE;AAAO,UAAAJ,MAAG,WAASA,GAAE,WAASI,GAAE,SAAO,CAACC,MAAIN,cAAa,KAAG,MAAIA,GAAE,oBAAkBK,GAAE,OAAK,CAACL,MAAG,MAAIA,GAAE,YAAUK,GAAE,SAAO,OAAGA,GAAE,SAAO,MAAGL,KAAE,IAAGK,GAAE,cAAY,SAAQD,KAAE;AAAU,cAAIG,KAAE;AAAK,UAAAA,KAAEP,cAAa,KAAGA,cAAa,IAAEA,KAAE,EAAE,UAAQ,EAAE,SAASA,EAAC,IAAE,IAAI,EAAEF,IAAEE,EAAC,IAAE,EAAE,eAAeF,IAAEE,IAAEK,GAAE,QAAOA,GAAE,uBAAsBA,GAAE,MAAM;AAAE,cAAIR,KAAE,IAAI,EAAEC,IAAES,IAAEF,EAAC;AAAE,eAAK,MAAMP,EAAC,IAAED;AAAA,QAAC;AAAC,YAAI,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,wBAAwB,GAAE,IAAE,EAAE,uBAAuB,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,oBAAoB,GAAE,IAAE,EAAE,aAAa,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,eAAe,GAAE,IAAE,EAAE,mCAAmC,GAAE,IAAE,SAASC,IAAE;AAAC,kBAAMA,GAAE,MAAM,EAAE,MAAIA,KAAEA,GAAE,UAAU,GAAEA,GAAE,SAAO,CAAC;AAAG,cAAIE,KAAEF,GAAE,YAAY,GAAG;AAAE,iBAAO,IAAEE,KAAEF,GAAE,UAAU,GAAEE,EAAC,IAAE;AAAA,QAAE,GAAE,IAAE,SAASF,IAAE;AAAC,iBAAM,QAAMA,GAAE,MAAM,EAAE,MAAIA,MAAG,MAAKA;AAAA,QAAC,GAAE,IAAE,SAASA,IAAEE,IAAE;AAAC,iBAAOA,KAAE,WAASA,KAAEA,KAAE,EAAE,eAAcF,KAAE,EAAEA,EAAC,GAAE,KAAK,MAAMA,EAAC,KAAG,EAAE,KAAK,MAAKA,IAAE,MAAK,EAAC,KAAI,MAAG,eAAcE,GAAC,CAAC,GAAE,KAAK,MAAMF,EAAC;AAAA,QAAC;AAAE,iBAASD,GAAEC,IAAE;AAAC,iBAAM,sBAAoB,OAAO,UAAU,SAAS,KAAKA,EAAC;AAAA,QAAC;AAAC,YAAI,IAAE,EAAC,MAAK,WAAU;AAAC,gBAAM,IAAI,MAAM,4EAA4E;AAAA,QAAC,GAAE,SAAQ,SAASA,IAAE;AAAC,cAAIE,IAAEC,IAAEE;AAAE,eAAIH,MAAK,KAAK,MAAM,CAAAG,KAAE,KAAK,MAAMH,EAAC,IAAGC,KAAED,GAAE,MAAM,KAAK,KAAK,QAAOA,GAAE,MAAM,MAAIA,GAAE,MAAM,GAAE,KAAK,KAAK,MAAM,MAAI,KAAK,QAAMF,GAAEG,IAAEE,EAAC;AAAA,QAAC,GAAE,QAAO,SAASF,IAAE;AAAC,cAAIE,KAAE,CAAA;AAAG,iBAAO,KAAK,QAAQ,SAASL,IAAEE,IAAE;AAAC,YAAAC,GAAEH,IAAEE,EAAC,KAAGG,GAAE,KAAKH,EAAC;AAAA,UAAC,CAAC,GAAEG;AAAA,QAAC,GAAE,MAAK,SAASL,IAAEE,IAAEC,IAAE;AAAC,cAAG,MAAI,UAAU,OAAO,QAAOH,KAAE,KAAK,OAAKA,IAAE,EAAE,KAAK,MAAKA,IAAEE,IAAEC,EAAC,GAAE;AAAK,cAAGJ,GAAEC,EAAC,GAAE;AAAC,gBAAIK,KAAEL;AAAE,mBAAO,KAAK,OAAO,SAASA,IAAEE,IAAE;AAAC,qBAAM,CAACA,GAAE,OAAKG,GAAE,KAAKL,EAAC;AAAA,YAAC,CAAC;AAAA,UAAC;AAAC,cAAIM,KAAE,KAAK,MAAM,KAAK,OAAKN,EAAC;AAAE,iBAAOM,MAAG,CAACA,GAAE,MAAIA,KAAE;AAAA,QAAI,GAAE,QAAO,SAASH,IAAE;AAAC,cAAG,CAACA,GAAE,QAAO;AAAK,cAAGJ,GAAEI,EAAC,EAAE,QAAO,KAAK,OAAO,SAASH,IAAEE,IAAE;AAAC,mBAAOA,GAAE,OAAKC,GAAE,KAAKH,EAAC;AAAA,UAAC,CAAC;AAAE,cAAIA,KAAE,KAAK,OAAKG,IAAED,KAAE,EAAE,KAAK,MAAKF,EAAC,GAAEK,KAAE,KAAK,MAAK;AAAG,iBAAOA,GAAE,OAAKH,GAAE,MAAKG;AAAA,QAAC,GAAE,QAAO,SAASF,IAAE;AAAC,UAAAA,KAAE,KAAK,OAAKA;AAAE,cAAIH,KAAE,KAAK,MAAMG,EAAC;AAAE,cAAGH,OAAI,QAAMG,GAAE,MAAM,EAAE,MAAIA,MAAG,MAAKH,KAAE,KAAK,MAAMG,EAAC,IAAGH,MAAG,CAACA,GAAE,IAAI,QAAO,KAAK,MAAMG,EAAC;AAAA,cAAO,UAAQD,KAAE,KAAK,OAAO,SAASF,IAAEE,IAAE;AAAC,mBAAOA,GAAE,KAAK,MAAM,GAAEC,GAAE,MAAM,MAAIA;AAAA,UAAC,CAAC,GAAEE,KAAE,GAAEA,KAAEH,GAAE,QAAOG,KAAI,QAAO,KAAK,MAAMH,GAAEG,EAAC,EAAE,IAAI;AAAE,iBAAO;AAAA,QAAI,GAAE,UAAS,WAAU;AAAC,gBAAM,IAAI,MAAM,4EAA4E;AAAA,QAAC,GAAE,wBAAuB,SAASL,IAAE;AAAC,cAAIE,IAAEC,KAAE,CAAA;AAAG,cAAG;AAAC,iBAAIA,KAAE,EAAE,OAAOH,MAAG,CAAA,GAAG,EAAC,aAAY,OAAG,aAAY,SAAQ,oBAAmB,MAAK,MAAK,IAAG,UAAS,OAAM,SAAQ,MAAK,UAAS,mBAAkB,gBAAe,EAAE,WAAU,CAAC,GAAG,OAAKG,GAAE,KAAK,YAAW,GAAGA,GAAE,cAAYA,GAAE,YAAY,YAAW,GAAG,mBAAiBA,GAAE,SAAOA,GAAE,OAAK,WAAU,CAACA,GAAE,KAAK,OAAM,IAAI,MAAM,2BAA2B;AAAE,cAAE,aAAaA,GAAE,IAAI,GAAE,aAAWA,GAAE,YAAU,cAAYA,GAAE,YAAU,YAAUA,GAAE,YAAU,YAAUA,GAAE,aAAWA,GAAE,WAAS,SAAQ,YAAUA,GAAE,aAAWA,GAAE,WAAS;AAAO,gBAAIE,KAAEF,GAAE,WAAS,KAAK,WAAS;AAAG,YAAAD,KAAE,EAAE,eAAe,MAAKC,IAAEE,EAAC;AAAA,UAAC,SAAOL,IAAE;AAAC,aAACE,KAAE,IAAI,EAAE,OAAO,GAAG,MAAMF,EAAC;AAAA,UAAC;AAAC,iBAAO,IAAI,EAAEE,IAAEC,GAAE,QAAM,UAASA,GAAE,QAAQ;AAAA,QAAC,GAAE,eAAc,SAASH,IAAEE,IAAE;AAAC,iBAAO,KAAK,uBAAuBF,EAAC,EAAE,WAAWE,EAAC;AAAA,QAAC,GAAE,oBAAmB,SAASF,IAAEE,IAAE;AAAC,kBAAOF,KAAEA,MAAG,CAAA,GAAI,SAAOA,GAAE,OAAK,eAAc,KAAK,uBAAuBA,EAAC,EAAE,eAAeE,EAAC;AAAA,QAAC,EAAC;AAAE,UAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,sBAAqB,GAAE,cAAa,GAAE,cAAa,GAAE,qCAAoC,IAAG,iBAAgB,IAAG,0BAAyB,IAAG,yBAAwB,IAAG,UAAS,IAAG,WAAU,IAAG,eAAc,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,EAAE,QAAQ;AAAA,MAAC,GAAE,EAAC,QAAO,OAAM,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,cAAc;AAAE,iBAAS,EAAEF,IAAE;AAAC,YAAE,KAAK,MAAKA,EAAC;AAAE,mBAAQE,KAAE,GAAEA,KAAE,KAAK,KAAK,QAAOA,KAAI,CAAAF,GAAEE,EAAC,IAAE,MAAIF,GAAEE,EAAC;AAAA,QAAC;AAAC,UAAE,UAAU,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,SAAO,SAASF,IAAE;AAAC,iBAAO,KAAK,KAAK,KAAK,OAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAU,uBAAqB,SAASA,IAAE;AAAC,mBAAQE,KAAEF,GAAE,WAAW,CAAC,GAAEG,KAAEH,GAAE,WAAW,CAAC,GAAEK,KAAEL,GAAE,WAAW,CAAC,GAAEM,KAAEN,GAAE,WAAW,CAAC,GAAE,IAAE,KAAK,SAAO,GAAE,KAAG,GAAE,EAAE,EAAE,KAAG,KAAK,KAAK,CAAC,MAAIE,MAAG,KAAK,KAAK,IAAE,CAAC,MAAIC,MAAG,KAAK,KAAK,IAAE,CAAC,MAAIE,MAAG,KAAK,KAAK,IAAE,CAAC,MAAIC,GAAE,QAAO,IAAE,KAAK;AAAK;QAAQ,GAAE,EAAE,UAAU,wBAAsB,SAASN,IAAE;AAAC,cAAIE,KAAEF,GAAE,WAAW,CAAC,GAAEG,KAAEH,GAAE,WAAW,CAAC,GAAEK,KAAEL,GAAE,WAAW,CAAC,GAAEM,KAAEN,GAAE,WAAW,CAAC,GAAE,IAAE,KAAK,SAAS,CAAC;AAAE,iBAAOE,OAAI,EAAE,CAAC,KAAGC,OAAI,EAAE,CAAC,KAAGE,OAAI,EAAE,CAAC,KAAGC,OAAI,EAAE,CAAC;AAAA,QAAC,GAAE,EAAE,UAAU,WAAS,SAASN,IAAE;AAAC,cAAG,KAAK,YAAYA,EAAC,GAAE,MAAIA,GAAE,QAAM,CAAA;AAAG,cAAIE,KAAE,KAAK,KAAK,MAAM,KAAK,OAAK,KAAK,OAAM,KAAK,OAAK,KAAK,QAAMF,EAAC;AAAE,iBAAO,KAAK,SAAOA,IAAEE;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,gBAAe,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,UAAU;AAAE,iBAAS,EAAEF,IAAE;AAAC,eAAK,OAAKA,IAAE,KAAK,SAAOA,GAAE,QAAO,KAAK,QAAM,GAAE,KAAK,OAAK;AAAA,QAAC;AAAC,UAAE,YAAU,EAAC,aAAY,SAASA,IAAE;AAAC,eAAK,WAAW,KAAK,QAAMA,EAAC;AAAA,QAAC,GAAE,YAAW,SAASA,IAAE;AAAC,cAAG,KAAK,SAAO,KAAK,OAAKA,MAAGA,KAAE,EAAE,OAAM,IAAI,MAAM,wCAAsC,KAAK,SAAO,qBAAmBA,KAAE,oBAAoB;AAAA,QAAC,GAAE,UAAS,SAASA,IAAE;AAAC,eAAK,WAAWA,EAAC,GAAE,KAAK,QAAMA;AAAA,QAAC,GAAE,MAAK,SAASA,IAAE;AAAC,eAAK,SAAS,KAAK,QAAMA,EAAC;AAAA,QAAC,GAAE,QAAO,WAAU;AAAA,WAAG,SAAQ,SAASA,IAAE;AAAC,cAAIE,IAAEC,KAAE;AAAE,eAAI,KAAK,YAAYH,EAAC,GAAEE,KAAE,KAAK,QAAMF,KAAE,GAAEE,MAAG,KAAK,OAAMA,KAAI,CAAAC,MAAGA,MAAG,KAAG,KAAK,OAAOD,EAAC;AAAE,iBAAO,KAAK,SAAOF,IAAEG;AAAA,QAAC,GAAE,YAAW,SAASH,IAAE;AAAC,iBAAO,EAAE,YAAY,UAAS,KAAK,SAASA,EAAC,CAAC;AAAA,QAAC,GAAE,UAAS,WAAU;AAAA,QAAA,GAAG,sBAAqB,WAAU;AAAA,QAAA,GAAG,uBAAsB,WAAU;AAAA,QAAA,GAAG,UAAS,WAAU;AAAC,cAAIA,KAAE,KAAK,QAAQ,CAAC;AAAE,iBAAO,IAAI,KAAK,KAAK,IAAI,QAAMA,MAAG,KAAG,OAAMA,MAAG,KAAG,MAAI,GAAEA,MAAG,KAAG,IAAGA,MAAG,KAAG,IAAGA,MAAG,IAAE,KAAI,KAAGA,OAAI,CAAC,CAAC;AAAA,QAAC,EAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,oBAAoB;AAAE,iBAAS,EAAEA,IAAE;AAAC,YAAE,KAAK,MAAKA,EAAC;AAAA,QAAC;AAAC,UAAE,UAAU,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,WAAS,SAASA,IAAE;AAAC,eAAK,YAAYA,EAAC;AAAE,cAAIE,KAAE,KAAK,KAAK,MAAM,KAAK,OAAK,KAAK,OAAM,KAAK,OAAK,KAAK,QAAMF,EAAC;AAAE,iBAAO,KAAK,SAAOA,IAAEE;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,sBAAqB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,cAAc;AAAE,iBAAS,EAAEF,IAAE;AAAC,YAAE,KAAK,MAAKA,EAAC;AAAA,QAAC;AAAC,UAAE,UAAU,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,SAAO,SAASA,IAAE;AAAC,iBAAO,KAAK,KAAK,WAAW,KAAK,OAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAU,uBAAqB,SAASA,IAAE;AAAC,iBAAO,KAAK,KAAK,YAAYA,EAAC,IAAE,KAAK;AAAA,QAAI,GAAE,EAAE,UAAU,wBAAsB,SAASA,IAAE;AAAC,iBAAOA,OAAI,KAAK,SAAS,CAAC;AAAA,QAAC,GAAE,EAAE,UAAU,WAAS,SAASA,IAAE;AAAC,eAAK,YAAYA,EAAC;AAAE,cAAIE,KAAE,KAAK,KAAK,MAAM,KAAK,OAAK,KAAK,OAAM,KAAK,OAAK,KAAK,QAAMF,EAAC;AAAE,iBAAO,KAAK,SAAOA,IAAEE;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,gBAAe,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,eAAe;AAAE,iBAAS,EAAEF,IAAE;AAAC,YAAE,KAAK,MAAKA,EAAC;AAAA,QAAC;AAAC,UAAE,UAAU,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,WAAS,SAASA,IAAE;AAAC,cAAG,KAAK,YAAYA,EAAC,GAAE,MAAIA,GAAE,QAAO,IAAI,WAAW,CAAC;AAAE,cAAIE,KAAE,KAAK,KAAK,SAAS,KAAK,OAAK,KAAK,OAAM,KAAK,OAAK,KAAK,QAAMF,EAAC;AAAE,iBAAO,KAAK,SAAOA,IAAEE;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,iBAAgB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,UAAU,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,eAAe,GAAE,IAAE,EAAE,gBAAgB,GAAE,IAAE,EAAE,oBAAoB,GAAEH,KAAE,EAAE,oBAAoB;AAAE,UAAE,UAAQ,SAASC,IAAE;AAAC,cAAIE,KAAE,EAAE,UAAUF,EAAC;AAAE,iBAAO,EAAE,aAAaE,EAAC,GAAE,aAAWA,MAAG,EAAE,aAAW,iBAAeA,KAAE,IAAI,EAAEF,EAAC,IAAE,EAAE,aAAW,IAAID,GAAE,EAAE,YAAY,cAAaC,EAAC,CAAC,IAAE,IAAI,EAAE,EAAE,YAAY,SAAQA,EAAC,CAAC,IAAE,IAAI,EAAEA,EAAC;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,cAAa,IAAG,YAAW,IAAG,iBAAgB,IAAG,sBAAqB,IAAG,kBAAiB,IAAG,sBAAqB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,oBAAkB,QAAO,EAAE,sBAAoB,QAAO,EAAE,wBAAsB,QAAO,EAAE,kCAAgC,WAAO,EAAE,8BAA4B,QAAO,EAAE,kBAAgB;AAAA,MAAO,GAAE,EAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,UAAU;AAAE,iBAAS,EAAEA,IAAE;AAAC,YAAE,KAAK,MAAK,sBAAoBA,EAAC,GAAE,KAAK,WAASA;AAAA,QAAC;AAAC,UAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE;AAAC,eAAK,KAAK,EAAC,MAAK,EAAE,YAAY,KAAK,UAASA,GAAE,IAAI,GAAE,MAAKA,GAAE,KAAI,CAAC;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,UAAU;AAAE,iBAAS,IAAG;AAAC,YAAE,KAAK,MAAK,YAAY,GAAE,KAAK,eAAe,SAAQ,CAAC;AAAA,QAAC;AAAC,UAAE,UAAU,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE;AAAC,eAAK,WAAW,QAAM,EAAEA,GAAE,MAAK,KAAK,WAAW,SAAO,CAAC,GAAE,KAAK,KAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,GAAE,YAAW,IAAG,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,UAAU,GAAE,IAAE,EAAE,iBAAiB;AAAE,iBAAS,EAAEA,IAAE;AAAC,YAAE,KAAK,MAAK,yBAAuBA,EAAC,GAAE,KAAK,WAASA,IAAE,KAAK,eAAeA,IAAE,CAAC;AAAA,QAAC;AAAC,UAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE;AAAC,cAAGA,IAAE;AAAC,gBAAIE,KAAE,KAAK,WAAW,KAAK,QAAQ,KAAG;AAAE,iBAAK,WAAW,KAAK,QAAQ,IAAEA,KAAEF,GAAE,KAAK;AAAA,UAAM;AAAC,YAAE,UAAU,aAAa,KAAK,MAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,UAAU,GAAE,IAAE,EAAE,iBAAiB;AAAE,iBAAS,EAAEA,IAAE;AAAC,YAAE,KAAK,MAAK,YAAY;AAAE,cAAIE,KAAE;AAAK,eAAK,cAAY,OAAG,KAAK,QAAM,GAAE,KAAK,MAAI,GAAE,KAAK,OAAK,MAAK,KAAK,OAAK,IAAG,KAAK,iBAAe,OAAGF,GAAE,KAAK,SAASA,IAAE;AAAC,YAAAE,GAAE,cAAY,MAAGA,GAAE,OAAKF,IAAEE,GAAE,MAAIF,MAAGA,GAAE,UAAQ,GAAEE,GAAE,OAAK,EAAE,UAAUF,EAAC,GAAEE,GAAE,YAAUA,GAAE,eAAc;AAAA,UAAE,GAAE,SAASF,IAAE;AAAC,YAAAE,GAAE,MAAMF,EAAC;AAAA,UAAC,CAAC;AAAA,QAAC;AAAC,UAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,UAAQ,WAAU;AAAC,YAAE,UAAU,QAAQ,KAAK,IAAI,GAAE,KAAK,OAAK;AAAA,QAAI,GAAE,EAAE,UAAU,SAAO,WAAU;AAAC,iBAAM,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,IAAI,MAAI,CAAC,KAAK,kBAAgB,KAAK,gBAAc,KAAK,iBAAe,MAAG,EAAE,MAAM,KAAK,gBAAe,CAAA,GAAG,IAAI,IAAG;AAAA,QAAG,GAAE,EAAE,UAAU,iBAAe,WAAU;AAAC,eAAK,iBAAe,OAAG,KAAK,YAAU,KAAK,eAAa,KAAK,MAAK,GAAG,KAAK,eAAa,EAAE,MAAM,KAAK,gBAAe,CAAA,GAAG,IAAI,GAAE,KAAK,iBAAe;AAAA,QAAI,GAAE,EAAE,UAAU,QAAM,WAAU;AAAC,cAAG,KAAK,YAAU,KAAK,WAAW,QAAM;AAAG,cAAIA,KAAE,MAAKE,KAAE,KAAK,IAAI,KAAK,KAAI,KAAK,QAAM,KAAK;AAAE,cAAG,KAAK,SAAO,KAAK,IAAI,QAAO,KAAK;AAAM,kBAAO,KAAK,MAAI;AAAA,YAAE,KAAI;AAAS,cAAAF,KAAE,KAAK,KAAK,UAAU,KAAK,OAAME,EAAC;AAAE;AAAA,YAAM,KAAI;AAAa,cAAAF,KAAE,KAAK,KAAK,SAAS,KAAK,OAAME,EAAC;AAAE;AAAA,YAAM,KAAI;AAAA,YAAQ,KAAI;AAAa,cAAAF,KAAE,KAAK,KAAK,MAAM,KAAK,OAAME,EAAC;AAAA,UAAC;AAAC,iBAAO,KAAK,QAAMA,IAAE,KAAK,KAAK,EAAC,MAAKF,IAAE,MAAK,EAAC,SAAQ,KAAK,MAAI,KAAK,QAAM,KAAK,MAAI,MAAI,EAAC,EAAC,CAAC;AAAA,QAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,YAAW,IAAG,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,iBAAS,EAAEA,IAAE;AAAC,eAAK,OAAKA,MAAG,WAAU,KAAK,aAAW,CAAA,GAAG,KAAK,iBAAe,MAAK,KAAK,kBAAgB,CAAA,GAAG,KAAK,WAAS,MAAG,KAAK,aAAW,OAAG,KAAK,WAAS,OAAG,KAAK,aAAW,EAAC,MAAK,IAAG,KAAI,CAAA,GAAG,OAAM,CAAA,EAAE,GAAE,KAAK,WAAS;AAAA,QAAI;AAAC,UAAE,YAAU,EAAC,MAAK,SAASA,IAAE;AAAC,eAAK,KAAK,QAAOA,EAAC;AAAA,QAAC,GAAE,KAAI,WAAU;AAAC,cAAG,KAAK,WAAW,QAAM;AAAG,eAAK,MAAK;AAAG,cAAG;AAAC,iBAAK,KAAK,KAAK,GAAE,KAAK,QAAO,GAAG,KAAK,aAAW;AAAA,UAAE,SAAOA,IAAE;AAAC,iBAAK,KAAK,SAAQA,EAAC;AAAA,UAAC;AAAC,iBAAM;AAAA,QAAE,GAAE,OAAM,SAASA,IAAE;AAAC,iBAAM,CAAC,KAAK,eAAa,KAAK,WAAS,KAAK,iBAAeA,MAAG,KAAK,aAAW,MAAG,KAAK,KAAK,SAAQA,EAAC,GAAE,KAAK,YAAU,KAAK,SAAS,MAAMA,EAAC,GAAE,KAAK,QAAO,IAAI;AAAA,QAAG,GAAE,IAAG,SAASA,IAAEE,IAAE;AAAC,iBAAO,KAAK,WAAWF,EAAC,EAAE,KAAKE,EAAC,GAAE;AAAA,QAAI,GAAE,SAAQ,WAAU;AAAC,eAAK,aAAW,KAAK,iBAAe,KAAK,kBAAgB,MAAK,KAAK,aAAW,CAAA;AAAA,QAAE,GAAE,MAAK,SAASF,IAAEE,IAAE;AAAC,cAAG,KAAK,WAAWF,EAAC,EAAE,UAAQG,KAAE,GAAEA,KAAE,KAAK,WAAWH,EAAC,EAAE,QAAOG,KAAI,MAAK,WAAWH,EAAC,EAAEG,EAAC,EAAE,KAAK,MAAKD,EAAC;AAAA,QAAC,GAAE,MAAK,SAASF,IAAE;AAAC,iBAAOA,GAAE,iBAAiB,IAAI;AAAA,QAAC,GAAE,kBAAiB,SAASA,IAAE;AAAC,cAAG,KAAK,SAAS,OAAM,IAAI,MAAM,iBAAe,OAAK,0BAA0B;AAAE,eAAK,aAAWA,GAAE,YAAW,KAAK,gBAAe,GAAG,KAAK,WAASA;AAAE,cAAIE,KAAE;AAAK,iBAAOF,GAAE,GAAG,QAAO,SAASA,IAAE;AAAC,YAAAE,GAAE,aAAaF,EAAC;AAAA,UAAC,CAAC,GAAEA,GAAE,GAAG,OAAM,WAAU;AAAC,YAAAE,GAAE,IAAG;AAAA,UAAE,CAAC,GAAEF,GAAE,GAAG,SAAQ,SAASA,IAAE;AAAC,YAAAE,GAAE,MAAMF,EAAC;AAAA,UAAC,CAAC,GAAE;AAAA,QAAI,GAAE,OAAM,WAAU;AAAC,iBAAM,CAAC,KAAK,YAAU,CAAC,KAAK,eAAa,KAAK,WAAS,MAAG,KAAK,YAAU,KAAK,SAAS,MAAK,GAAG;AAAA,QAAG,GAAE,QAAO,WAAU;AAAC,cAAG,CAAC,KAAK,YAAU,KAAK,WAAW,QAAM;AAAG,cAAIA,KAAE,KAAK,WAAS;AAAG,iBAAO,KAAK,mBAAiB,KAAK,MAAM,KAAK,cAAc,GAAEA,KAAE,OAAI,KAAK,YAAU,KAAK,SAAS,UAAS,CAACA;AAAA,QAAC,GAAE,OAAM,WAAU;AAAA,QAAA,GAAG,cAAa,SAASA,IAAE;AAAC,eAAK,KAAKA,EAAC;AAAA,QAAC,GAAE,gBAAe,SAASA,IAAEE,IAAE;AAAC,iBAAO,KAAK,gBAAgBF,EAAC,IAAEE,IAAE,KAAK,gBAAe,GAAG;AAAA,QAAI,GAAE,iBAAgB,WAAU;AAAC,mBAAQF,MAAK,KAAK,gBAAgB,QAAO,UAAU,eAAe,KAAK,KAAK,iBAAgBA,EAAC,MAAI,KAAK,WAAWA,EAAC,IAAE,KAAK,gBAAgBA,EAAC;AAAA,QAAE,GAAE,MAAK,WAAU;AAAC,cAAG,KAAK,SAAS,OAAM,IAAI,MAAM,iBAAe,OAAK,0BAA0B;AAAE,eAAK,WAAS,MAAG,KAAK,YAAU,KAAK,SAAS,KAAI;AAAA,QAAE,GAAE,UAAS,WAAU;AAAC,cAAIA,KAAE,YAAU,KAAK;AAAK,iBAAO,KAAK,WAAS,KAAK,WAAS,SAAOA,KAAEA;AAAA,QAAC,EAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAID,KAAE,EAAE,UAAU,GAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,WAAW,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,aAAa,GAAE,IAAE;AAAK,YAAG,EAAE,WAAW,KAAG;AAAC,cAAE,EAAE,qCAAqC;AAAA,QAAC,SAAOC,IAAE;AAAA,QAAA;AAAE,iBAAS,EAAEA,IAAES,IAAE;AAAC,iBAAO,IAAI,EAAE,QAAQ,SAASP,IAAEC,IAAE;AAAC,gBAAIE,KAAE,CAAA,GAAGC,KAAEN,GAAE,eAAcO,KAAEP,GAAE,aAAYQ,KAAER,GAAE;AAAU,YAAAA,GAAE,GAAG,QAAO,SAASA,IAAEE,IAAE;AAAC,cAAAG,GAAE,KAAKL,EAAC,GAAES,MAAGA,GAAEP,EAAC;AAAA,YAAC,CAAC,EAAE,GAAG,SAAQ,SAASF,IAAE;AAAC,cAAAK,KAAE,CAAA,GAAGF,GAAEH,EAAC;AAAA,YAAC,CAAC,EAAE,GAAG,OAAM,WAAU;AAAC,kBAAG;AAAC,oBAAIA,MAAE,SAASA,IAAEE,IAAEC,IAAE;AAAC,0BAAOH,IAAC;AAAA,oBAAE,KAAI;AAAO,6BAAOD,GAAE,QAAQA,GAAE,YAAY,eAAcG,EAAC,GAAEC,EAAC;AAAA,oBAAE,KAAI;AAAS,6BAAO,EAAE,OAAOD,EAAC;AAAA,oBAAE;AAAQ,6BAAOH,GAAE,YAAYC,IAAEE,EAAC;AAAA,kBAAC;AAAA,gBAAC,GAAEK,KAAE,SAASP,IAAEE,IAAE;AAAC,sBAAIC,IAAEE,KAAE,GAAEC,KAAE,MAAKC,KAAE;AAAE,uBAAIJ,KAAE,GAAEA,KAAED,GAAE,QAAOC,KAAI,CAAAI,MAAGL,GAAEC,EAAC,EAAE;AAAO,0BAAOH,IAAC;AAAA,oBAAE,KAAI;AAAS,6BAAOE,GAAE,KAAK,EAAE;AAAA,oBAAE,KAAI;AAAQ,6BAAO,MAAM,UAAU,OAAO,MAAM,IAAGA,EAAC;AAAA,oBAAE,KAAI;AAAa,2BAAII,KAAE,IAAI,WAAWC,EAAC,GAAEJ,KAAE,GAAEA,KAAED,GAAE,QAAOC,KAAI,CAAAG,GAAE,IAAIJ,GAAEC,EAAC,GAAEE,EAAC,GAAEA,MAAGH,GAAEC,EAAC,EAAE;AAAO,6BAAOG;AAAA,oBAAE,KAAI;AAAa,6BAAO,OAAO,OAAOJ,EAAC;AAAA,oBAAE;AAAQ,4BAAM,IAAI,MAAM,gCAA8BF,KAAE,GAAG;AAAA,kBAAC;AAAA,gBAAC,GAAEM,IAAED,EAAC,GAAEG,EAAC;AAAE,gBAAAN,GAAEF,EAAC;AAAA,cAAC,SAAOA,IAAE;AAAC,gBAAAG,GAAEH,EAAC;AAAA,cAAC;AAAC,cAAAK,KAAE,CAAA;AAAA,YAAE,CAAC,EAAE,OAAM;AAAA,UAAE,CAAC;AAAA,QAAC;AAAC,iBAAS,EAAEL,IAAEE,IAAEC,IAAE;AAAC,cAAIE,KAAEH;AAAE,kBAAOA,IAAC;AAAA,YAAE,KAAI;AAAA,YAAO,KAAI;AAAc,cAAAG,KAAE;AAAa;AAAA,YAAM,KAAI;AAAS,cAAAA,KAAE;AAAA,UAAQ;AAAC,cAAG;AAAC,iBAAK,gBAAcA,IAAE,KAAK,cAAYH,IAAE,KAAK,YAAUC,IAAEJ,GAAE,aAAaM,EAAC,GAAE,KAAK,UAAQL,GAAE,KAAK,IAAI,EAAEK,EAAC,CAAC,GAAEL,GAAE;UAAM,SAAOA,IAAE;AAAC,iBAAK,UAAQ,IAAI,EAAE,OAAO,GAAE,KAAK,QAAQ,MAAMA,EAAC;AAAA,UAAC;AAAA,QAAC;AAAC,UAAE,YAAU,EAAC,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAE,MAAKA,EAAC;AAAA,QAAC,GAAE,IAAG,SAASA,IAAEE,IAAE;AAAC,cAAIC,KAAE;AAAK,iBAAM,WAASH,KAAE,KAAK,QAAQ,GAAGA,IAAE,SAASA,IAAE;AAAC,YAAAE,GAAE,KAAKC,IAAEH,GAAE,MAAKA,GAAE,IAAI;AAAA,UAAC,CAAC,IAAE,KAAK,QAAQ,GAAGA,IAAE,WAAU;AAAC,YAAAD,GAAE,MAAMG,IAAE,WAAUC,EAAC;AAAA,UAAC,CAAC,GAAE;AAAA,QAAI,GAAE,QAAO,WAAU;AAAC,iBAAOJ,GAAE,MAAM,KAAK,QAAQ,QAAO,CAAA,GAAG,KAAK,OAAO,GAAE;AAAA,QAAI,GAAE,OAAM,WAAU;AAAC,iBAAO,KAAK,QAAQ,MAAK,GAAG;AAAA,QAAI,GAAE,gBAAe,SAASC,IAAE;AAAC,cAAGD,GAAE,aAAa,YAAY,GAAE,iBAAe,KAAK,YAAY,OAAM,IAAI,MAAM,KAAK,cAAY,kCAAkC;AAAE,iBAAO,IAAI,EAAE,MAAK,EAAC,YAAW,iBAAe,KAAK,YAAW,GAAEC,EAAC;AAAA,QAAC,EAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,aAAY,GAAE,eAAc,GAAE,uCAAsC,IAAG,cAAa,IAAG,YAAW,IAAG,mBAAkB,IAAG,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAG,EAAE,SAAO,MAAG,EAAE,QAAM,MAAG,EAAE,SAAO,MAAG,EAAE,cAAY,eAAa,OAAO,eAAa,eAAa,OAAO,YAAW,EAAE,aAAW,eAAa,OAAO,QAAO,EAAE,aAAW,eAAa,OAAO,YAAW,eAAa,OAAO,YAAY,GAAE,OAAK;AAAA,aAAO;AAAC,cAAI,IAAE,IAAI,YAAY,CAAC;AAAE,cAAG;AAAC,cAAE,OAAK,MAAI,IAAI,KAAK,CAAC,CAAC,GAAE,EAAC,MAAK,kBAAiB,CAAC,EAAE;AAAA,UAAI,SAAOA,IAAE;AAAC,gBAAG;AAAC,kBAAI,IAAE,KAAI,KAAK,eAAa,KAAK,qBAAmB,KAAK,kBAAgB,KAAK;AAAe,gBAAE,OAAO,CAAC,GAAE,EAAE,OAAK,MAAI,EAAE,QAAQ,iBAAiB,EAAE;AAAA,YAAI,SAAOA,IAAE;AAAC,gBAAE,OAAK;AAAA,YAAE;AAAA,UAAC;AAAA,QAAC;AAAC,YAAG;AAAC,YAAE,aAAW,CAAC,CAAC,EAAE,iBAAiB,EAAE;AAAA,QAAQ,SAAOA,IAAE;AAAC,YAAE,aAAW;AAAA,QAAE;AAAA,MAAC,GAAE,EAAC,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,iBAAQ,IAAE,EAAE,SAAS,GAAED,KAAE,EAAE,WAAW,GAAE,IAAE,EAAE,eAAe,GAAE,IAAE,EAAE,wBAAwB,GAAE,IAAE,IAAI,MAAM,GAAG,GAAE,IAAE,GAAE,IAAE,KAAI,IAAI,GAAE,CAAC,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE;AAAE,UAAE,GAAG,IAAE,EAAE,GAAG,IAAE;AAAE,iBAAS,IAAG;AAAC,YAAE,KAAK,MAAK,cAAc,GAAE,KAAK,WAAS;AAAA,QAAI;AAAC,iBAAS,IAAG;AAAC,YAAE,KAAK,MAAK,cAAc;AAAA,QAAC;AAAC,UAAE,aAAW,SAASC,IAAE;AAAC,iBAAOD,GAAE,aAAW,EAAE,cAAcC,IAAE,OAAO,KAAE,SAASA,IAAE;AAAC,gBAAIE,IAAEC,IAAEE,IAAEC,IAAEC,IAAEC,KAAER,GAAE,QAAOS,KAAE;AAAE,iBAAIH,KAAE,GAAEA,KAAEE,IAAEF,KAAI,WAAQ,SAAOH,KAAEH,GAAE,WAAWM,EAAC,OAAKA,KAAE,IAAEE,MAAG,UAAQ,SAAOH,KAAEL,GAAE,WAAWM,KAAE,CAAC,QAAMH,KAAE,SAAOA,KAAE,SAAO,OAAKE,KAAE,QAAOC,OAAKG,MAAGN,KAAE,MAAI,IAAEA,KAAE,OAAK,IAAEA,KAAE,QAAM,IAAE;AAAE,iBAAID,KAAEH,GAAE,aAAW,IAAI,WAAWU,EAAC,IAAE,IAAI,MAAMA,EAAC,GAAEH,KAAEC,KAAE,GAAEA,KAAEE,IAAEH,KAAI,WAAQ,SAAOH,KAAEH,GAAE,WAAWM,EAAC,OAAKA,KAAE,IAAEE,MAAG,UAAQ,SAAOH,KAAEL,GAAE,WAAWM,KAAE,CAAC,QAAMH,KAAE,SAAOA,KAAE,SAAO,OAAKE,KAAE,QAAOC,OAAKH,KAAE,MAAID,GAAEK,IAAG,IAAEJ,MAAGA,KAAE,OAAKD,GAAEK,IAAG,IAAE,MAAIJ,OAAI,KAAGA,KAAE,QAAMD,GAAEK,IAAG,IAAE,MAAIJ,OAAI,MAAID,GAAEK,IAAG,IAAE,MAAIJ,OAAI,IAAGD,GAAEK,IAAG,IAAE,MAAIJ,OAAI,KAAG,KAAID,GAAEK,IAAG,IAAE,MAAIJ,OAAI,IAAE,KAAID,GAAEK,IAAG,IAAE,MAAI,KAAGJ;AAAG,mBAAOD;AAAA,UAAC,GAAEF,EAAC;AAAA,QAAC,GAAE,EAAE,aAAW,SAASA,IAAE;AAAC,iBAAOD,GAAE,aAAW,EAAE,YAAY,cAAaC,EAAC,EAAE,SAAS,OAAO,KAAE,SAASA,IAAE;AAAC,gBAAIE,IAAEC,IAAEE,IAAEC,IAAEC,KAAEP,GAAE,QAAOQ,KAAE,IAAI,MAAM,IAAED,EAAC;AAAE,iBAAIL,KAAEC,KAAE,GAAED,KAAEK,KAAG,MAAIF,KAAEL,GAAEE,IAAG,KAAG,IAAI,CAAAM,GAAEL,IAAG,IAAEE;AAAA,qBAAU,KAAGC,KAAE,EAAED,EAAC,GAAG,CAAAG,GAAEL,IAAG,IAAE,OAAMD,MAAGI,KAAE;AAAA,iBAAM;AAAC,mBAAID,MAAG,MAAIC,KAAE,KAAG,MAAIA,KAAE,KAAG,GAAE,IAAEA,MAAGJ,KAAEK,KAAG,CAAAF,KAAEA,MAAG,IAAE,KAAGL,GAAEE,IAAG,GAAEI;AAAI,kBAAEA,KAAEE,GAAEL,IAAG,IAAE,QAAME,KAAE,QAAMG,GAAEL,IAAG,IAAEE,MAAGA,MAAG,OAAMG,GAAEL,IAAG,IAAE,QAAME,MAAG,KAAG,MAAKG,GAAEL,IAAG,IAAE,QAAM,OAAKE;AAAA,YAAE;AAAC,mBAAOG,GAAE,WAASL,OAAIK,GAAE,WAASA,KAAEA,GAAE,SAAS,GAAEL,EAAC,IAAEK,GAAE,SAAOL,KAAG,EAAE,kBAAkBK,EAAC;AAAA,UAAC,GAAER,KAAE,EAAE,YAAYD,GAAE,aAAW,eAAa,SAAQC,EAAC,CAAC;AAAA,QAAC,GAAE,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE;AAAC,cAAIE,KAAE,EAAE,YAAYH,GAAE,aAAW,eAAa,SAAQC,GAAE,IAAI;AAAE,cAAG,KAAK,YAAU,KAAK,SAAS,QAAO;AAAC,gBAAGD,GAAE,YAAW;AAAC,kBAAII,KAAED;AAAE,eAACA,KAAE,IAAI,WAAWC,GAAE,SAAO,KAAK,SAAS,MAAM,GAAG,IAAI,KAAK,UAAS,CAAC,GAAED,GAAE,IAAIC,IAAE,KAAK,SAAS,MAAM;AAAA,YAAC,MAAM,CAAAD,KAAE,KAAK,SAAS,OAAOA,EAAC;AAAE,iBAAK,WAAS;AAAA,UAAI;AAAC,cAAIG,MAAE,SAASL,IAAEE,IAAE;AAAC,gBAAIC;AAAE,kBAAKD,KAAEA,MAAGF,GAAE,UAAQA,GAAE,WAASE,KAAEF,GAAE,SAAQG,KAAED,KAAE,GAAE,KAAGC,MAAG,QAAM,MAAIH,GAAEG,EAAC,KAAI,CAAAA;AAAI,mBAAOA,KAAE,IAAED,KAAE,MAAIC,KAAED,KAAEC,KAAE,EAAEH,GAAEG,EAAC,CAAC,IAAED,KAAEC,KAAED;AAAA,UAAC,GAAEA,EAAC,GAAEI,KAAEJ;AAAE,UAAAG,OAAIH,GAAE,WAASH,GAAE,cAAYO,KAAEJ,GAAE,SAAS,GAAEG,EAAC,GAAE,KAAK,WAASH,GAAE,SAASG,IAAEH,GAAE,MAAM,MAAII,KAAEJ,GAAE,MAAM,GAAEG,EAAC,GAAE,KAAK,WAASH,GAAE,MAAMG,IAAEH,GAAE,MAAM,KAAI,KAAK,KAAK,EAAC,MAAK,EAAE,WAAWI,EAAC,GAAE,MAAKN,GAAE,KAAI,CAAC;AAAA,QAAC,GAAE,EAAE,UAAU,QAAM,WAAU;AAAC,eAAK,YAAU,KAAK,SAAS,WAAS,KAAK,KAAK,EAAC,MAAK,EAAE,WAAW,KAAK,QAAQ,GAAE,MAAK,CAAA,EAAE,CAAC,GAAE,KAAK,WAAS;AAAA,QAAK,GAAE,EAAE,mBAAiB,GAAE,EAAE,SAAS,GAAE,CAAC,GAAE,EAAE,UAAU,eAAa,SAASA,IAAE;AAAC,eAAK,KAAK,EAAC,MAAK,EAAE,WAAWA,GAAE,IAAI,GAAE,MAAKA,GAAE,KAAI,CAAC;AAAA,QAAC,GAAE,EAAE,mBAAiB;AAAA,MAAC,GAAE,EAAC,iBAAgB,IAAG,0BAAyB,IAAG,aAAY,IAAG,WAAU,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,WAAW,GAAED,KAAE,EAAE,UAAU,GAAE,IAAE,EAAE,eAAe,GAAE,IAAE,EAAE,YAAY;AAAE,iBAAS,EAAEC,IAAE;AAAC,iBAAOA;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,mBAAQC,KAAE,GAAEA,KAAEH,GAAE,QAAO,EAAEG,GAAE,CAAAD,GAAEC,EAAC,IAAE,MAAIH,GAAE,WAAWG,EAAC;AAAE,iBAAOD;AAAA,QAAC;AAAC,UAAE,cAAc,GAAE,EAAE,UAAQ,SAASA,IAAEC,IAAE;AAAC,YAAE,aAAa,MAAM;AAAE,cAAG;AAAC,mBAAO,IAAI,KAAK,CAACD,EAAC,GAAE,EAAC,MAAKC,GAAC,CAAC;AAAA,UAAC,SAAOH,IAAE;AAAC,gBAAG;AAAC,kBAAIK,KAAE,KAAI,KAAK,eAAa,KAAK,qBAAmB,KAAK,kBAAgB,KAAK;AAAe,qBAAOA,GAAE,OAAOH,EAAC,GAAEG,GAAE,QAAQF,EAAC;AAAA,YAAC,SAAOH,IAAE;AAAC,oBAAM,IAAI,MAAM,iCAAiC;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC;AAAE,YAAI,IAAE,EAAC,kBAAiB,SAASA,IAAEE,IAAEC,IAAE;AAAC,cAAIE,KAAE,CAAA,GAAGC,KAAE,GAAEC,KAAEP,GAAE;AAAO,cAAGO,MAAGJ,GAAE,QAAO,OAAO,aAAa,MAAM,MAAKH,EAAC;AAAE,iBAAKM,KAAEC,KAAG,aAAUL,MAAG,iBAAeA,KAAEG,GAAE,KAAK,OAAO,aAAa,MAAM,MAAKL,GAAE,MAAMM,IAAE,KAAK,IAAIA,KAAEH,IAAEI,EAAC,CAAC,CAAC,CAAC,IAAEF,GAAE,KAAK,OAAO,aAAa,MAAM,MAAKL,GAAE,SAASM,IAAE,KAAK,IAAIA,KAAEH,IAAEI,EAAC,CAAC,CAAC,CAAC,GAAED,MAAGH;AAAE,iBAAOE,GAAE,KAAK,EAAE;AAAA,QAAC,GAAE,iBAAgB,SAASL,IAAE;AAAC,mBAAQE,KAAE,IAAGC,KAAE,GAAEA,KAAEH,GAAE,QAAOG,KAAI,CAAAD,MAAG,OAAO,aAAaF,GAAEG,EAAC,CAAC;AAAE,iBAAOD;AAAA,QAAC,GAAE,gBAAe,EAAC,aAAW,WAAU;AAAC,cAAG;AAAC,mBAAO,EAAE,cAAY,MAAI,OAAO,aAAa,MAAM,MAAK,IAAI,WAAW,CAAC,CAAC,EAAE;AAAA,UAAM,SAAOF,IAAE;AAAC,mBAAM;AAAA,UAAE;AAAA,QAAC,GAAC,GAAG,aAAW,WAAU;AAAC,cAAG;AAAC,mBAAO,EAAE,cAAY,MAAI,OAAO,aAAa,MAAM,MAAK,EAAE,YAAY,CAAC,CAAC,EAAE;AAAA,UAAM,SAAOA,IAAE;AAAC,mBAAM;AAAA,UAAE;AAAA,QAAC,GAAC,EAAE,EAAC;AAAE,iBAAS,EAAEA,IAAE;AAAC,cAAIE,KAAE,OAAMC,KAAE,EAAE,UAAUH,EAAC,GAAEK,KAAE;AAAG,cAAG,iBAAeF,KAAEE,KAAE,EAAE,eAAe,aAAW,iBAAeF,OAAIE,KAAE,EAAE,eAAe,aAAYA,GAAE,QAAK,IAAEH,KAAG,KAAG;AAAC,mBAAO,EAAE,iBAAiBF,IAAEG,IAAED,EAAC;AAAA,UAAC,SAAOF,IAAE;AAAC,YAAAE,KAAE,KAAK,MAAMA,KAAE,CAAC;AAAA,UAAC;AAAC,iBAAO,EAAE,gBAAgBF,EAAC;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,mBAAQC,KAAE,GAAEA,KAAEH,GAAE,QAAOG,KAAI,CAAAD,GAAEC,EAAC,IAAEH,GAAEG,EAAC;AAAE,iBAAOD;AAAA,QAAC;AAAC,UAAE,oBAAkB;AAAE,YAAI,IAAE,CAAA;AAAG,UAAE,SAAO,EAAC,QAAO,GAAE,OAAM,SAASF,IAAE;AAAC,iBAAO,EAAEA,IAAE,IAAI,MAAMA,GAAE,MAAM,CAAC;AAAA,QAAC,GAAE,aAAY,SAASA,IAAE;AAAC,iBAAO,EAAE,OAAO,WAAWA,EAAC,EAAE;AAAA,QAAM,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAEA,IAAE,IAAI,WAAWA,GAAE,MAAM,CAAC;AAAA,QAAC,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAEA,IAAE,EAAE,YAAYA,GAAE,MAAM,CAAC;AAAA,QAAC,EAAC,GAAE,EAAE,QAAM,EAAC,QAAO,GAAE,OAAM,GAAE,aAAY,SAASA,IAAE;AAAC,iBAAO,IAAI,WAAWA,EAAC,EAAE;AAAA,QAAM,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,IAAI,WAAWA,EAAC;AAAA,QAAC,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAE,cAAcA,EAAC;AAAA,QAAC,EAAC,GAAE,EAAE,cAAY,EAAC,QAAO,SAASA,IAAE;AAAC,iBAAO,EAAE,IAAI,WAAWA,EAAC,CAAC;AAAA,QAAC,GAAE,OAAM,SAASA,IAAE;AAAC,iBAAO,EAAE,IAAI,WAAWA,EAAC,GAAE,IAAI,MAAMA,GAAE,UAAU,CAAC;AAAA,QAAC,GAAE,aAAY,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,IAAI,WAAWA,EAAC;AAAA,QAAC,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAE,cAAc,IAAI,WAAWA,EAAC,CAAC;AAAA,QAAC,EAAC,GAAE,EAAE,aAAW,EAAC,QAAO,GAAE,OAAM,SAASA,IAAE;AAAC,iBAAO,EAAEA,IAAE,IAAI,MAAMA,GAAE,MAAM,CAAC;AAAA,QAAC,GAAE,aAAY,SAASA,IAAE;AAAC,iBAAOA,GAAE;AAAA,QAAM,GAAE,YAAW,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAE,cAAcA,EAAC;AAAA,QAAC,EAAC,GAAE,EAAE,aAAW,EAAC,QAAO,GAAE,OAAM,SAASA,IAAE;AAAC,iBAAO,EAAEA,IAAE,IAAI,MAAMA,GAAE,MAAM,CAAC;AAAA,QAAC,GAAE,aAAY,SAASA,IAAE;AAAC,iBAAO,EAAE,WAAW,WAAWA,EAAC,EAAE;AAAA,QAAM,GAAE,YAAW,SAASA,IAAE;AAAC,iBAAO,EAAEA,IAAE,IAAI,WAAWA,GAAE,MAAM,CAAC;AAAA,QAAC,GAAE,YAAW,EAAC,GAAE,EAAE,cAAY,SAASA,IAAEE,IAAE;AAAC,cAAGA,KAAEA,MAAG,IAAG,CAACF,GAAE,QAAOE;AAAE,YAAE,aAAaF,EAAC;AAAE,cAAIG,KAAE,EAAE,UAAUD,EAAC;AAAE,iBAAO,EAAEC,EAAC,EAAEH,EAAC,EAAEE,EAAC;AAAA,QAAC,GAAE,EAAE,UAAQ,SAASF,IAAE;AAAC,mBAAQE,KAAEF,GAAE,MAAM,GAAG,GAAEG,KAAE,CAAA,GAAGE,KAAE,GAAEA,KAAEH,GAAE,QAAOG,MAAI;AAAC,gBAAIC,KAAEJ,GAAEG,EAAC;AAAE,oBAAMC,MAAG,OAAKA,MAAG,MAAID,MAAGA,OAAIH,GAAE,SAAO,MAAI,SAAOI,KAAEH,GAAE,IAAG,IAAGA,GAAE,KAAKG,EAAC;AAAA,UAAE;AAAC,iBAAOH,GAAE,KAAK,GAAG;AAAA,QAAC,GAAE,EAAE,YAAU,SAASH,IAAE;AAAC,iBAAM,YAAU,OAAOA,KAAE,WAAS,qBAAmB,OAAO,UAAU,SAAS,KAAKA,EAAC,IAAE,UAAQ,EAAE,cAAY,EAAE,SAASA,EAAC,IAAE,eAAa,EAAE,cAAYA,cAAa,aAAW,eAAa,EAAE,eAAaA,cAAa,cAAY,gBAAc;AAAA,QAAM,GAAE,EAAE,eAAa,SAASA,IAAE;AAAC,cAAG,CAAC,EAAEA,GAAE,YAAW,CAAE,EAAE,OAAM,IAAI,MAAMA,KAAE,oCAAoC;AAAA,QAAC,GAAE,EAAE,mBAAiB,OAAM,EAAE,mBAAiB,IAAG,EAAE,SAAO,SAASA,IAAE;AAAC,cAAIE,IAAEC,IAAEE,KAAE;AAAG,eAAIF,KAAE,GAAEA,MAAGH,MAAG,IAAI,QAAOG,KAAI,CAAAE,MAAG,UAAQH,KAAEF,GAAE,WAAWG,EAAC,KAAG,KAAG,MAAI,MAAID,GAAE,SAAS,EAAE,EAAE,YAAW;AAAG,iBAAOG;AAAA,QAAC,GAAE,EAAE,QAAM,SAASL,IAAEE,IAAEC,IAAE;AAAC,uBAAa,WAAU;AAAC,YAAAH,GAAE,MAAMG,MAAG,MAAKD,MAAG,EAAE;AAAA,UAAC,CAAC;AAAA,QAAC,GAAE,EAAE,WAAS,SAASF,IAAEE,IAAE;AAAC,mBAASC,KAAG;AAAA,UAAA;AAAE,UAAAA,GAAE,YAAUD,GAAE,WAAUF,GAAE,YAAU,IAAIG;AAAA,QAAC,GAAE,EAAE,SAAO,WAAU;AAAC,cAAIH,IAAEE,IAAEC,KAAE,CAAA;AAAG,eAAIH,KAAE,GAAEA,KAAE,UAAU,QAAOA,KAAI,MAAIE,MAAK,UAAUF,EAAC,EAAE,QAAO,UAAU,eAAe,KAAK,UAAUA,EAAC,GAAEE,EAAC,KAAG,WAASC,GAAED,EAAC,MAAIC,GAAED,EAAC,IAAE,UAAUF,EAAC,EAAEE,EAAC;AAAG,iBAAOC;AAAA,QAAC,GAAE,EAAE,iBAAe,SAASA,IAAEH,IAAEK,IAAEC,IAAEC,IAAE;AAAC,iBAAO,EAAE,QAAQ,QAAQP,EAAC,EAAE,KAAK,SAASK,IAAE;AAAC,mBAAO,EAAE,SAAOA,cAAa,QAAM,OAAK,CAAC,iBAAgB,eAAe,EAAE,QAAQ,OAAO,UAAU,SAAS,KAAKA,EAAC,CAAC,MAAI,eAAa,OAAO,aAAW,IAAI,EAAE,QAAQ,SAASH,IAAEC,IAAE;AAAC,kBAAIH,KAAE,IAAI;AAAW,cAAAA,GAAE,SAAO,SAASA,IAAE;AAAC,gBAAAE,GAAEF,GAAE,OAAO,MAAM;AAAA,cAAC,GAAEA,GAAE,UAAQ,SAASA,IAAE;AAAC,gBAAAG,GAAEH,GAAE,OAAO,KAAK;AAAA,cAAC,GAAEA,GAAE,kBAAkBK,EAAC;AAAA,YAAC,CAAC,IAAEA;AAAA,UAAC,CAAC,EAAE,KAAK,SAASL,IAAE;AAAC,gBAAIE,KAAE,EAAE,UAAUF,EAAC;AAAE,mBAAOE,MAAG,kBAAgBA,KAAEF,KAAE,EAAE,YAAY,cAAaA,EAAC,IAAE,aAAWE,OAAIK,KAAEP,KAAED,GAAE,OAAOC,EAAC,IAAEK,MAAG,SAAKC,OAAIN,MAAE,SAASA,IAAE;AAAC,qBAAO,EAAEA,IAAE,EAAE,aAAW,IAAI,WAAWA,GAAE,MAAM,IAAE,IAAI,MAAMA,GAAE,MAAM,CAAC;AAAA,YAAC,GAAEA,EAAC,KAAIA,MAAG,EAAE,QAAQ,OAAO,IAAI,MAAM,6BAA2BG,KAAE,4EAA4E,CAAC;AAAA,UAAC,CAAC;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,YAAW,GAAE,cAAa,GAAE,iBAAgB,IAAG,aAAY,IAAG,cAAa,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,oBAAoB,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,aAAa,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,EAAE,WAAW;AAAE,iBAASJ,GAAEC,IAAE;AAAC,eAAK,QAAM,CAAA,GAAG,KAAK,cAAYA;AAAA,QAAC;AAAC,QAAAD,GAAE,YAAU,EAAC,gBAAe,SAASC,IAAE;AAAC,cAAG,CAAC,KAAK,OAAO,sBAAsBA,EAAC,GAAE;AAAC,iBAAK,OAAO,SAAO;AAAE,gBAAIE,KAAE,KAAK,OAAO,WAAW,CAAC;AAAE,kBAAM,IAAI,MAAM,iDAA+C,EAAE,OAAOA,EAAC,IAAE,gBAAc,EAAE,OAAOF,EAAC,IAAE,GAAG;AAAA,UAAC;AAAA,QAAC,GAAE,aAAY,SAASA,IAAEE,IAAE;AAAC,cAAIC,KAAE,KAAK,OAAO;AAAM,eAAK,OAAO,SAASH,EAAC;AAAE,cAAIK,KAAE,KAAK,OAAO,WAAW,CAAC,MAAIH;AAAE,iBAAO,KAAK,OAAO,SAASC,EAAC,GAAEE;AAAA,QAAC,GAAE,uBAAsB,WAAU;AAAC,eAAK,aAAW,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,0BAAwB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,8BAA4B,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,oBAAkB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,iBAAe,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,mBAAiB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,mBAAiB,KAAK,OAAO,QAAQ,CAAC;AAAE,cAAIL,KAAE,KAAK,OAAO,SAAS,KAAK,gBAAgB,GAAEE,KAAE,EAAE,aAAW,eAAa,SAAQC,KAAE,EAAE,YAAYD,IAAEF,EAAC;AAAE,eAAK,aAAW,KAAK,YAAY,eAAeG,EAAC;AAAA,QAAC,GAAE,4BAA2B,WAAU;AAAC,eAAK,wBAAsB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,OAAO,KAAK,CAAC,GAAE,KAAK,aAAW,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,0BAAwB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,8BAA4B,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,oBAAkB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,iBAAe,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,mBAAiB,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,sBAAoB,CAAA;AAAG,mBAAQH,IAAEE,IAAEC,IAAEE,KAAE,KAAK,wBAAsB,IAAG,IAAEA,KAAG,CAAAL,KAAE,KAAK,OAAO,QAAQ,CAAC,GAAEE,KAAE,KAAK,OAAO,QAAQ,CAAC,GAAEC,KAAE,KAAK,OAAO,SAASD,EAAC,GAAE,KAAK,oBAAoBF,EAAC,IAAE,EAAC,IAAGA,IAAE,QAAOE,IAAE,OAAMC,GAAC;AAAA,QAAC,GAAE,mCAAkC,WAAU;AAAC,cAAG,KAAK,+BAA6B,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,qCAAmC,KAAK,OAAO,QAAQ,CAAC,GAAE,KAAK,aAAW,KAAK,OAAO,QAAQ,CAAC,GAAE,IAAE,KAAK,WAAW,OAAM,IAAI,MAAM,qCAAqC;AAAA,QAAC,GAAE,gBAAe,WAAU;AAAC,cAAIH,IAAEE;AAAE,eAAIF,KAAE,GAAEA,KAAE,KAAK,MAAM,QAAOA,KAAI,CAAAE,KAAE,KAAK,MAAMF,EAAC,GAAE,KAAK,OAAO,SAASE,GAAE,iBAAiB,GAAE,KAAK,eAAe,EAAE,iBAAiB,GAAEA,GAAE,cAAc,KAAK,MAAM,GAAEA,GAAE,WAAU,GAAGA,GAAE,kBAAiB;AAAA,QAAE,GAAE,gBAAe,WAAU;AAAC,cAAIF;AAAE,eAAI,KAAK,OAAO,SAAS,KAAK,gBAAgB,GAAE,KAAK,OAAO,sBAAsB,EAAE,mBAAmB,IAAG,EAACA,KAAE,IAAI,EAAE,EAAC,OAAM,KAAK,MAAK,GAAE,KAAK,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAE,KAAK,MAAM,KAAKA,EAAC;AAAE,cAAG,KAAK,sBAAoB,KAAK,MAAM,UAAQ,MAAI,KAAK,qBAAmB,MAAI,KAAK,MAAM,OAAO,OAAM,IAAI,MAAM,oCAAkC,KAAK,oBAAkB,kCAAgC,KAAK,MAAM,MAAM;AAAA,QAAC,GAAE,kBAAiB,WAAU;AAAC,cAAIA,KAAE,KAAK,OAAO,qBAAqB,EAAE,qBAAqB;AAAE,cAAGA,KAAE,EAAE,OAAK,CAAC,KAAK,YAAY,GAAE,EAAE,iBAAiB,IAAE,IAAI,MAAM,yIAAyI,IAAE,IAAI,MAAM,oDAAoD;AAAE,eAAK,OAAO,SAASA,EAAC;AAAE,cAAIE,KAAEF;AAAE,cAAG,KAAK,eAAe,EAAE,qBAAqB,GAAE,KAAK,sBAAqB,GAAG,KAAK,eAAa,EAAE,oBAAkB,KAAK,4BAA0B,EAAE,oBAAkB,KAAK,gCAA8B,EAAE,oBAAkB,KAAK,sBAAoB,EAAE,oBAAkB,KAAK,mBAAiB,EAAE,oBAAkB,KAAK,qBAAmB,EAAE,kBAAiB;AAAC,gBAAG,KAAK,QAAM,OAAIA,KAAE,KAAK,OAAO,qBAAqB,EAAE,+BAA+B,KAAG,EAAE,OAAM,IAAI,MAAM,sEAAsE;AAAE,gBAAG,KAAK,OAAO,SAASA,EAAC,GAAE,KAAK,eAAe,EAAE,+BAA+B,GAAE,KAAK,qCAAoC,CAAC,KAAK,YAAY,KAAK,oCAAmC,EAAE,2BAA2B,MAAI,KAAK,qCAAmC,KAAK,OAAO,qBAAqB,EAAE,2BAA2B,GAAE,KAAK,qCAAmC,GAAG,OAAM,IAAI,MAAM,8DAA8D;AAAE,iBAAK,OAAO,SAAS,KAAK,kCAAkC,GAAE,KAAK,eAAe,EAAE,2BAA2B,GAAE,KAAK,2BAA0B;AAAA,UAAE;AAAC,cAAIG,KAAE,KAAK,mBAAiB,KAAK;AAAe,eAAK,UAAQA,MAAG,IAAGA,MAAG,KAAG,KAAK;AAAuB,cAAIE,KAAEH,KAAEC;AAAE,cAAG,IAAEE,GAAE,MAAK,YAAYH,IAAE,EAAE,mBAAmB,MAAI,KAAK,OAAO,OAAKG;AAAA,mBAAWA,KAAE,EAAE,OAAM,IAAI,MAAM,4BAA0B,KAAK,IAAIA,EAAC,IAAE,SAAS;AAAA,QAAC,GAAE,eAAc,SAASL,IAAE;AAAC,eAAK,SAAO,EAAEA,EAAC;AAAA,QAAC,GAAE,MAAK,SAASA,IAAE;AAAC,eAAK,cAAcA,EAAC,GAAE,KAAK,iBAAgB,GAAG,KAAK,eAAc,GAAG,KAAK,eAAc;AAAA,QAAE,EAAC,GAAE,EAAE,UAAQD;AAAA,MAAC,GAAE,EAAC,sBAAqB,IAAG,eAAc,IAAG,aAAY,IAAG,WAAU,IAAG,cAAa,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,oBAAoB,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,oBAAoB,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,QAAQ,GAAEA,KAAE,EAAE,gBAAgB,GAAE,IAAE,EAAE,WAAW;AAAE,iBAAS,EAAEC,IAAEE,IAAE;AAAC,eAAK,UAAQF,IAAE,KAAK,cAAYE;AAAA,QAAC;AAAC,UAAE,YAAU,EAAC,aAAY,WAAU;AAAC,iBAAO,MAAI,IAAE,KAAK;AAAA,QAAQ,GAAE,SAAQ,WAAU;AAAC,iBAAO,SAAO,OAAK,KAAK;AAAA,QAAQ,GAAE,eAAc,SAASF,IAAE;AAAC,cAAIE,IAAEC;AAAE,cAAGH,GAAE,KAAK,EAAE,GAAE,KAAK,iBAAeA,GAAE,QAAQ,CAAC,GAAEG,KAAEH,GAAE,QAAQ,CAAC,GAAE,KAAK,WAASA,GAAE,SAAS,KAAK,cAAc,GAAEA,GAAE,KAAKG,EAAC,GAAE,OAAK,KAAK,kBAAgB,OAAK,KAAK,iBAAiB,OAAM,IAAI,MAAM,oIAAoI;AAAE,cAAG,UAAQD,MAAE,SAASF,IAAE;AAAC,qBAAQE,MAAKH,GAAE,KAAG,OAAO,UAAU,eAAe,KAAKA,IAAEG,EAAC,KAAGH,GAAEG,EAAC,EAAE,UAAQF,GAAE,QAAOD,GAAEG,EAAC;AAAE,mBAAO;AAAA,UAAI,GAAE,KAAK,iBAAiB,GAAG,OAAM,IAAI,MAAM,iCAA+B,EAAE,OAAO,KAAK,iBAAiB,IAAE,4BAA0B,EAAE,YAAY,UAAS,KAAK,QAAQ,IAAE,GAAG;AAAE,eAAK,eAAa,IAAI,EAAE,KAAK,gBAAe,KAAK,kBAAiB,KAAK,OAAMA,IAAEF,GAAE,SAAS,KAAK,cAAc,CAAC;AAAA,QAAC,GAAE,iBAAgB,SAASA,IAAE;AAAC,eAAK,gBAAcA,GAAE,QAAQ,CAAC,GAAEA,GAAE,KAAK,CAAC,GAAE,KAAK,UAAQA,GAAE,QAAQ,CAAC,GAAE,KAAK,oBAAkBA,GAAE,WAAW,CAAC,GAAE,KAAK,OAAKA,GAAE,YAAW,KAAK,QAAMA,GAAE,QAAQ,CAAC,GAAE,KAAK,iBAAeA,GAAE,QAAQ,CAAC,GAAE,KAAK,mBAAiBA,GAAE,QAAQ,CAAC;AAAE,cAAIE,KAAEF,GAAE,QAAQ,CAAC;AAAE,cAAG,KAAK,oBAAkBA,GAAE,QAAQ,CAAC,GAAE,KAAK,oBAAkBA,GAAE,QAAQ,CAAC,GAAE,KAAK,kBAAgBA,GAAE,QAAQ,CAAC,GAAE,KAAK,yBAAuBA,GAAE,QAAQ,CAAC,GAAE,KAAK,yBAAuBA,GAAE,QAAQ,CAAC,GAAE,KAAK,oBAAkBA,GAAE,QAAQ,CAAC,GAAE,KAAK,YAAW,EAAG,OAAM,IAAI,MAAM,iCAAiC;AAAE,UAAAA,GAAE,KAAKE,EAAC,GAAE,KAAK,gBAAgBF,EAAC,GAAE,KAAK,qBAAqBA,EAAC,GAAE,KAAK,cAAYA,GAAE,SAAS,KAAK,iBAAiB;AAAA,QAAC,GAAE,mBAAkB,WAAU;AAAC,eAAK,kBAAgB,MAAK,KAAK,iBAAe;AAAK,cAAIA,KAAE,KAAK,iBAAe;AAAE,eAAK,MAAI,CAAC,EAAE,KAAG,KAAK,yBAAwB,KAAGA,OAAI,KAAK,iBAAe,KAAG,KAAK,yBAAwB,KAAGA,OAAI,KAAK,kBAAgB,KAAK,0BAAwB,KAAG,QAAO,KAAK,OAAK,QAAM,KAAK,YAAY,MAAM,EAAE,MAAI,KAAK,MAAI;AAAA,QAAG,GAAE,sBAAqB,WAAU;AAAC,cAAG,KAAK,YAAY,CAAC,GAAE;AAAC,gBAAIA,KAAE,EAAE,KAAK,YAAY,CAAC,EAAE,KAAK;AAAE,iBAAK,qBAAmB,EAAE,qBAAmB,KAAK,mBAAiBA,GAAE,QAAQ,CAAC,IAAG,KAAK,mBAAiB,EAAE,qBAAmB,KAAK,iBAAeA,GAAE,QAAQ,CAAC,IAAG,KAAK,sBAAoB,EAAE,qBAAmB,KAAK,oBAAkBA,GAAE,QAAQ,CAAC,IAAG,KAAK,oBAAkB,EAAE,qBAAmB,KAAK,kBAAgBA,GAAE,QAAQ,CAAC;AAAA,UAAE;AAAA,QAAC,GAAE,iBAAgB,SAASA,IAAE;AAAC,cAAIE,IAAEC,IAAEE,IAAEC,KAAEN,GAAE,QAAM,KAAK;AAAkB,eAAI,KAAK,gBAAc,KAAK,cAAY,KAAIA,GAAE,QAAM,IAAEM,KAAG,CAAAJ,KAAEF,GAAE,QAAQ,CAAC,GAAEG,KAAEH,GAAE,QAAQ,CAAC,GAAEK,KAAEL,GAAE,SAASG,EAAC,GAAE,KAAK,YAAYD,EAAC,IAAE,EAAC,IAAGA,IAAE,QAAOC,IAAE,OAAME,GAAC;AAAE,UAAAL,GAAE,SAASM,EAAC;AAAA,QAAC,GAAE,YAAW,WAAU;AAAC,cAAIN,KAAE,EAAE,aAAW,eAAa;AAAQ,cAAG,KAAK,QAAO,EAAG,MAAK,cAAY,EAAE,WAAW,KAAK,QAAQ,GAAE,KAAK,iBAAe,EAAE,WAAW,KAAK,WAAW;AAAA,eAAM;AAAC,gBAAIE,KAAE,KAAK;AAA4B,gBAAG,SAAOA,GAAE,MAAK,cAAYA;AAAA,iBAAM;AAAC,kBAAIC,KAAE,EAAE,YAAYH,IAAE,KAAK,QAAQ;AAAE,mBAAK,cAAY,KAAK,YAAY,eAAeG,EAAC;AAAA,YAAC;AAAC,gBAAIE,KAAE,KAAK,6BAA4B;AAAG,gBAAG,SAAOA,GAAE,MAAK,iBAAeA;AAAA,iBAAM;AAAC,kBAAIC,KAAE,EAAE,YAAYN,IAAE,KAAK,WAAW;AAAE,mBAAK,iBAAe,KAAK,YAAY,eAAeM,EAAC;AAAA,YAAC;AAAA,UAAC;AAAA,QAAC,GAAE,2BAA0B,WAAU;AAAC,cAAIN,KAAE,KAAK,YAAY,KAAK;AAAE,cAAGA,IAAE;AAAC,gBAAIE,KAAE,EAAEF,GAAE,KAAK;AAAE,mBAAO,MAAIE,GAAE,QAAQ,CAAC,IAAE,OAAK,EAAE,KAAK,QAAQ,MAAIA,GAAE,QAAQ,CAAC,IAAE,OAAK,EAAE,WAAWA,GAAE,SAASF,GAAE,SAAO,CAAC,CAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAI,GAAE,8BAA6B,WAAU;AAAC,cAAIA,KAAE,KAAK,YAAY,KAAK;AAAE,cAAGA,IAAE;AAAC,gBAAIE,KAAE,EAAEF,GAAE,KAAK;AAAE,mBAAO,MAAIE,GAAE,QAAQ,CAAC,IAAE,OAAK,EAAE,KAAK,WAAW,MAAIA,GAAE,QAAQ,CAAC,IAAE,OAAK,EAAE,WAAWA,GAAE,SAASF,GAAE,SAAO,CAAC,CAAC;AAAA,UAAC;AAAC,iBAAO;AAAA,QAAI,EAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,sBAAqB,GAAE,kBAAiB,GAAE,WAAU,GAAE,sBAAqB,IAAG,aAAY,IAAG,UAAS,IAAG,WAAU,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,iBAAS,EAAEA,IAAEE,IAAEC,IAAE;AAAC,eAAK,OAAKH,IAAE,KAAK,MAAIG,GAAE,KAAI,KAAK,OAAKA,GAAE,MAAK,KAAK,UAAQA,GAAE,SAAQ,KAAK,kBAAgBA,GAAE,iBAAgB,KAAK,iBAAeA,GAAE,gBAAe,KAAK,QAAMD,IAAE,KAAK,cAAYC,GAAE,QAAO,KAAK,UAAQ,EAAC,aAAYA,GAAE,aAAY,oBAAmBA,GAAE,mBAAkB;AAAA,QAAC;AAAC,YAAI,IAAE,EAAE,uBAAuB,GAAE,IAAE,EAAE,qBAAqB,GAAE,IAAE,EAAE,QAAQ,GAAE,IAAE,EAAE,oBAAoB,GAAEJ,KAAE,EAAE,wBAAwB;AAAE,UAAE,YAAU,EAAC,gBAAe,SAASC,IAAE;AAAC,cAAIE,KAAE,MAAKC,KAAE;AAAS,cAAG;AAAC,gBAAG,CAACH,GAAE,OAAM,IAAI,MAAM,2BAA2B;AAAE,gBAAIK,KAAE,cAAYF,KAAEH,GAAE,kBAAgB,WAASG;AAAE,+BAAiBA,MAAG,WAASA,OAAIA,KAAE,WAAUD,KAAE,KAAK;AAAoB,gBAAII,KAAE,CAAC,KAAK;AAAY,YAAAA,MAAG,CAACD,OAAIH,KAAEA,GAAE,KAAK,IAAI,EAAE,kBAAgB,IAAG,CAACI,MAAGD,OAAIH,KAAEA,GAAE,KAAK,IAAI,EAAE,kBAAgB;AAAA,UAAE,SAAOF,IAAE;AAAC,aAACE,KAAE,IAAIH,GAAE,OAAO,GAAG,MAAMC,EAAC;AAAA,UAAC;AAAC,iBAAO,IAAI,EAAEE,IAAEC,IAAE,EAAE;AAAA,QAAC,GAAE,OAAM,SAASH,IAAEE,IAAE;AAAC,iBAAO,KAAK,eAAeF,EAAC,EAAE,WAAWE,EAAC;AAAA,QAAC,GAAE,YAAW,SAASF,IAAEE,IAAE;AAAC,iBAAO,KAAK,eAAeF,MAAG,YAAY,EAAE,eAAeE,EAAC;AAAA,QAAC,GAAE,iBAAgB,SAASF,IAAEE,IAAE;AAAC,cAAG,KAAK,iBAAiB,KAAG,KAAK,MAAM,YAAY,UAAQF,GAAE,MAAM,QAAO,KAAK,MAAM,oBAAmB;AAAG,cAAIG,KAAE,KAAK,kBAAiB;AAAG,iBAAO,KAAK,gBAAcA,KAAEA,GAAE,KAAK,IAAI,EAAE,kBAAgB,IAAG,EAAE,iBAAiBA,IAAEH,IAAEE,EAAC;AAAA,QAAC,GAAE,mBAAkB,WAAU;AAAC,iBAAO,KAAK,iBAAiB,IAAE,KAAK,MAAM,iBAAgB,IAAG,KAAK,iBAAiBH,KAAE,KAAK,QAAM,IAAI,EAAE,KAAK,KAAK;AAAA,QAAC,EAAC;AAAE,iBAAQ,IAAE,CAAC,UAAS,YAAW,gBAAe,gBAAe,eAAe,GAAE,IAAE,WAAU;AAAC,gBAAM,IAAI,MAAM,4EAA4E;AAAA,QAAC,GAAE,IAAE,GAAE,IAAE,EAAE,QAAO,IAAI,GAAE,UAAU,EAAE,CAAC,CAAC,IAAE;AAAE,UAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,sBAAqB,GAAE,uBAAsB,IAAG,0BAAyB,IAAG,yBAAwB,IAAG,UAAS,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAC,SAAC,SAASG,IAAE;AAAc,cAAI,GAAE,GAAEF,KAAEE,GAAE,oBAAkBA,GAAE;AAAuB,cAAGF,IAAE;AAAC,gBAAI,IAAE,GAAE,IAAE,IAAIA,GAAE,CAAC,GAAE,IAAEE,GAAE,SAAS,eAAe,EAAE;AAAE,cAAE,QAAQ,GAAE,EAAC,eAAc,KAAE,CAAC,GAAE,IAAE,WAAU;AAAC,gBAAE,OAAK,IAAE,EAAE,IAAE;AAAA,YAAC;AAAA,UAAC,WAASA,GAAE,gBAAc,WAASA,GAAE,eAAe,KAAE,cAAaA,MAAG,wBAAuBA,GAAE,SAAS,cAAc,QAAQ,IAAE,WAAU;AAAC,gBAAIF,KAAEE,GAAE,SAAS,cAAc,QAAQ;AAAE,YAAAF,GAAE,qBAAmB,WAAU;AAAC,gBAAC,GAAGA,GAAE,qBAAmB,MAAKA,GAAE,WAAW,YAAYA,EAAC,GAAEA,KAAE;AAAA,YAAI,GAAEE,GAAE,SAAS,gBAAgB,YAAYF,EAAC;AAAA,UAAC,IAAE,WAAU;AAAC,uBAAW,GAAE,CAAC;AAAA,UAAC;AAAA,eAAM;AAAC,gBAAI,IAAE,IAAIE,GAAE;AAAe,cAAE,MAAM,YAAU,GAAE,IAAE,WAAU;AAAC,gBAAE,MAAM,YAAY,CAAC;AAAA,YAAC;AAAA,UAAC;AAAC,cAAIH,KAAE,CAAA;AAAG,mBAAS,IAAG;AAAC,gBAAIC,IAAEE;AAAE,gBAAE;AAAG,qBAAQC,KAAEJ,GAAE,QAAOI,MAAG;AAAC,mBAAID,KAAEH,IAAEA,KAAE,CAAA,GAAGC,KAAE,IAAG,EAAEA,KAAEG,KAAG,CAAAD,GAAEF,EAAC,EAAC;AAAG,cAAAG,KAAEJ,GAAE;AAAA,YAAM;AAAC,gBAAE;AAAA,UAAE;AAAC,YAAE,UAAQ,SAASC,IAAE;AAAC,kBAAID,GAAE,KAAKC,EAAC,KAAG,KAAG;UAAG;AAAA,QAAC,GAAG,KAAK,MAAK,eAAa,OAAOU,iBAAOA,iBAAO,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAA,CAAE;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,WAAW;AAAE,iBAAS,IAAG;AAAA,QAAA;AAAE,YAAI,IAAE,CAAA,GAAG,IAAE,CAAC,UAAU,GAAE,IAAE,CAAC,WAAW,GAAE,IAAE,CAAC,SAAS;AAAE,iBAAS,EAAEV,IAAE;AAAC,cAAG,cAAY,OAAOA,GAAE,OAAM,IAAI,UAAU,6BAA6B;AAAE,eAAK,QAAM,GAAE,KAAK,QAAM,CAAA,GAAG,KAAK,UAAQ,QAAOA,OAAI,KAAG,EAAE,MAAKA,EAAC;AAAA,QAAC;AAAC,iBAASD,GAAEC,IAAEE,IAAEC,IAAE;AAAC,eAAK,UAAQH,IAAE,cAAY,OAAOE,OAAI,KAAK,cAAYA,IAAE,KAAK,gBAAc,KAAK,qBAAoB,cAAY,OAAOC,OAAI,KAAK,aAAWA,IAAE,KAAK,eAAa,KAAK;AAAA,QAAkB;AAAC,iBAAS,EAAED,IAAEC,IAAEE,IAAE;AAAC,YAAE,WAAU;AAAC,gBAAIL;AAAE,gBAAG;AAAC,cAAAA,KAAEG,GAAEE,EAAC;AAAA,YAAC,SAAOL,IAAE;AAAC,qBAAO,EAAE,OAAOE,IAAEF,EAAC;AAAA,YAAC;AAAC,YAAAA,OAAIE,KAAE,EAAE,OAAOA,IAAE,IAAI,UAAU,oCAAoC,CAAC,IAAE,EAAE,QAAQA,IAAEF,EAAC;AAAA,UAAC,CAAC;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAE;AAAC,cAAIE,KAAEF,MAAGA,GAAE;AAAK,cAAGA,OAAI,YAAU,OAAOA,MAAG,cAAY,OAAOA,OAAI,cAAY,OAAOE,GAAE,QAAO,WAAU;AAAC,YAAAA,GAAE,MAAMF,IAAE,SAAS;AAAA,UAAC;AAAA,QAAC;AAAC,iBAAS,EAAEE,IAAEF,IAAE;AAAC,cAAIG,KAAE;AAAG,mBAASE,GAAEL,IAAE;AAAC,YAAAG,OAAIA,KAAE,MAAG,EAAE,OAAOD,IAAEF,EAAC;AAAA,UAAE;AAAC,mBAASM,GAAEN,IAAE;AAAC,YAAAG,OAAIA,KAAE,MAAG,EAAE,QAAQD,IAAEF,EAAC;AAAA,UAAE;AAAC,cAAIO,KAAE,EAAE,WAAU;AAAC,YAAAP,GAAEM,IAAED,EAAC;AAAA,UAAC,CAAC;AAAE,sBAAUE,GAAE,UAAQF,GAAEE,GAAE,KAAK;AAAA,QAAC;AAAC,iBAAS,EAAEP,IAAEE,IAAE;AAAC,cAAIC,KAAE;AAAG,cAAG;AAAC,YAAAA,GAAE,QAAMH,GAAEE,EAAC,GAAEC,GAAE,SAAO;AAAA,UAAS,SAAOH,IAAE;AAAC,YAAAG,GAAE,SAAO,SAAQA,GAAE,QAAMH;AAAA,UAAC;AAAC,iBAAOG;AAAA,QAAC;AAAC,SAAC,EAAE,UAAQ,GAAG,UAAU,UAAQ,SAASD,IAAE;AAAC,cAAG,cAAY,OAAOA,GAAE,QAAO;AAAK,cAAIC,KAAE,KAAK;AAAY,iBAAO,KAAK,KAAK,SAASH,IAAE;AAAC,mBAAOG,GAAE,QAAQD,IAAG,EAAE,KAAK,WAAU;AAAC,qBAAOF;AAAA,YAAC,CAAC;AAAA,UAAC,GAAE,SAASA,IAAE;AAAC,mBAAOG,GAAE,QAAQD,IAAG,EAAE,KAAK,WAAU;AAAC,oBAAMF;AAAA,YAAC,CAAC;AAAA,UAAC,CAAC;AAAA,QAAC,GAAE,EAAE,UAAU,QAAM,SAASA,IAAE;AAAC,iBAAO,KAAK,KAAK,MAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAU,OAAK,SAASA,IAAEE,IAAE;AAAC,cAAG,cAAY,OAAOF,MAAG,KAAK,UAAQ,KAAG,cAAY,OAAOE,MAAG,KAAK,UAAQ,EAAE,QAAO;AAAK,cAAIC,KAAE,IAAI,KAAK,YAAY,CAAC;AAAE,eAAK,UAAQ,IAAE,EAAEA,IAAE,KAAK,UAAQ,IAAEH,KAAEE,IAAE,KAAK,OAAO,IAAE,KAAK,MAAM,KAAK,IAAIH,GAAEI,IAAEH,IAAEE,EAAC,CAAC;AAAE,iBAAOC;AAAA,QAAC,GAAEJ,GAAE,UAAU,gBAAc,SAASC,IAAE;AAAC,YAAE,QAAQ,KAAK,SAAQA,EAAC;AAAA,QAAC,GAAED,GAAE,UAAU,qBAAmB,SAASC,IAAE;AAAC,YAAE,KAAK,SAAQ,KAAK,aAAYA,EAAC;AAAA,QAAC,GAAED,GAAE,UAAU,eAAa,SAASC,IAAE;AAAC,YAAE,OAAO,KAAK,SAAQA,EAAC;AAAA,QAAC,GAAED,GAAE,UAAU,oBAAkB,SAASC,IAAE;AAAC,YAAE,KAAK,SAAQ,KAAK,YAAWA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAQ,SAASA,IAAEE,IAAE;AAAC,cAAIC,KAAE,EAAE,GAAED,EAAC;AAAE,cAAG,YAAUC,GAAE,OAAO,QAAO,EAAE,OAAOH,IAAEG,GAAE,KAAK;AAAE,cAAIE,KAAEF,GAAE;AAAM,cAAGE,GAAE,GAAEL,IAAEK,EAAC;AAAA,eAAM;AAAC,YAAAL,GAAE,QAAM,GAAEA,GAAE,UAAQE;AAAE,qBAAQI,KAAE,IAAGC,KAAEP,GAAE,MAAM,QAAO,EAAEM,KAAEC,KAAG,CAAAP,GAAE,MAAMM,EAAC,EAAE,cAAcJ,EAAC;AAAA,UAAC;AAAC,iBAAOF;AAAA,QAAC,GAAE,EAAE,SAAO,SAASA,IAAEE,IAAE;AAAC,UAAAF,GAAE,QAAM,GAAEA,GAAE,UAAQE;AAAE,mBAAQC,KAAE,IAAGE,KAAEL,GAAE,MAAM,QAAO,EAAEG,KAAEE,KAAG,CAAAL,GAAE,MAAMG,EAAC,EAAE,aAAaD,EAAC;AAAE,iBAAOF;AAAA,QAAC,GAAE,EAAE,UAAQ,SAASA,IAAE;AAAC,cAAGA,cAAa,KAAK,QAAOA;AAAE,iBAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,GAAEA,EAAC;AAAA,QAAC,GAAE,EAAE,SAAO,SAASA,IAAE;AAAC,cAAIE,KAAE,IAAI,KAAK,CAAC;AAAE,iBAAO,EAAE,OAAOA,IAAEF,EAAC;AAAA,QAAC,GAAE,EAAE,MAAI,SAASA,IAAE;AAAC,cAAIG,KAAE;AAAK,cAAG,qBAAmB,OAAO,UAAU,SAAS,KAAKH,EAAC,EAAE,QAAO,KAAK,OAAO,IAAI,UAAU,kBAAkB,CAAC;AAAE,cAAIK,KAAEL,GAAE,QAAOM,KAAE;AAAG,cAAG,CAACD,GAAE,QAAO,KAAK,QAAQ,CAAA,CAAE;AAAE,cAAIE,KAAE,IAAI,MAAMF,EAAC,GAAEG,KAAE,GAAEN,KAAE,IAAGO,KAAE,IAAI,KAAK,CAAC;AAAE,iBAAK,EAAEP,KAAEG,KAAG,CAAAN,GAAEC,GAAEE,EAAC,GAAEA,EAAC;AAAE,iBAAOO;AAAE,mBAASV,GAAEC,IAAEE,IAAE;AAAC,YAAAC,GAAE,QAAQH,EAAC,EAAE,KAAK,SAASA,IAAE;AAAC,cAAAO,GAAEL,EAAC,IAAEF,IAAE,EAAEQ,OAAIH,MAAGC,OAAIA,KAAE,MAAG,EAAE,QAAQG,IAAEF,EAAC;AAAA,YAAE,GAAE,SAASP,IAAE;AAAC,cAAAM,OAAIA,KAAE,MAAG,EAAE,OAAOG,IAAET,EAAC;AAAA,YAAE,CAAC;AAAA,UAAC;AAAA,QAAC,GAAE,EAAE,OAAK,SAASA,IAAE;AAAC,cAAIE,KAAE;AAAK,cAAG,qBAAmB,OAAO,UAAU,SAAS,KAAKF,EAAC,EAAE,QAAO,KAAK,OAAO,IAAI,UAAU,kBAAkB,CAAC;AAAE,cAAIG,KAAEH,GAAE,QAAOK,KAAE;AAAG,cAAG,CAACF,GAAE,QAAO,KAAK,QAAQ,EAAE;AAAE,cAAIG,KAAE,IAAGC,KAAE,IAAI,KAAK,CAAC;AAAE,iBAAK,EAAED,KAAEH,KAAG,CAAAK,KAAER,GAAEM,EAAC,GAAEJ,GAAE,QAAQM,EAAC,EAAE,KAAK,SAASR,IAAE;AAAC,YAAAK,OAAIA,KAAE,MAAG,EAAE,QAAQE,IAAEP,EAAC;AAAA,UAAE,GAAE,SAASA,IAAE;AAAC,YAAAK,OAAIA,KAAE,MAAG,EAAE,OAAOE,IAAEP,EAAC;AAAA,UAAE,CAAC;AAAE,cAAIQ;AAAE,iBAAOD;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,WAAU,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,CAAA;AAAG,YAAG,EAAE,oBAAoB,EAAE,QAAQ,GAAE,EAAE,eAAe,GAAE,EAAE,eAAe,GAAE,EAAE,sBAAsB,CAAC,GAAE,EAAE,UAAQ;AAAA,MAAC,GAAE,EAAC,iBAAgB,IAAG,iBAAgB,IAAG,sBAAqB,IAAG,wBAAuB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,gBAAgB,GAAE,IAAE,EAAE,gBAAgB,GAAER,KAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,gBAAgB,GAAE,IAAE,OAAO,UAAU,UAAS,IAAE,GAAE,IAAE,IAAG,IAAE,GAAE,IAAE;AAAE,iBAAS,EAAEC,IAAE;AAAC,cAAG,EAAE,gBAAgB,GAAG,QAAO,IAAI,EAAEA,EAAC;AAAE,eAAK,UAAQ,EAAE,OAAO,EAAC,OAAM,GAAE,QAAO,GAAE,WAAU,OAAM,YAAW,IAAG,UAAS,GAAE,UAAS,GAAE,IAAG,GAAE,GAAEA,MAAG,CAAA,CAAE;AAAE,cAAIE,KAAE,KAAK;AAAQ,UAAAA,GAAE,OAAK,IAAEA,GAAE,aAAWA,GAAE,aAAW,CAACA,GAAE,aAAWA,GAAE,QAAM,IAAEA,GAAE,cAAYA,GAAE,aAAW,OAAKA,GAAE,cAAY,KAAI,KAAK,MAAI,GAAE,KAAK,MAAI,IAAG,KAAK,QAAM,OAAG,KAAK,SAAO,CAAA,GAAG,KAAK,OAAK,IAAI,KAAE,KAAK,KAAK,YAAU;AAAE,cAAIC,KAAE,EAAE,aAAa,KAAK,MAAKD,GAAE,OAAMA,GAAE,QAAOA,GAAE,YAAWA,GAAE,UAASA,GAAE,QAAQ;AAAE,cAAGC,OAAI,EAAE,OAAM,IAAI,MAAM,EAAEA,EAAC,CAAC;AAAE,cAAGD,GAAE,UAAQ,EAAE,iBAAiB,KAAK,MAAKA,GAAE,MAAM,GAAEA,GAAE,YAAW;AAAC,gBAAIG;AAAE,gBAAGA,KAAE,YAAU,OAAOH,GAAE,aAAWH,GAAE,WAAWG,GAAE,UAAU,IAAE,2BAAyB,EAAE,KAAKA,GAAE,UAAU,IAAE,IAAI,WAAWA,GAAE,UAAU,IAAEA,GAAE,aAAYC,KAAE,EAAE,qBAAqB,KAAK,MAAKE,EAAC,OAAK,EAAE,OAAM,IAAI,MAAM,EAAEF,EAAC,CAAC;AAAE,iBAAK,YAAU;AAAA,UAAE;AAAA,QAAC;AAAC,iBAAS,EAAEH,IAAEE,IAAE;AAAC,cAAIC,KAAE,IAAI,EAAED,EAAC;AAAE,cAAGC,GAAE,KAAKH,IAAE,IAAE,GAAEG,GAAE,IAAI,OAAMA,GAAE,OAAK,EAAEA,GAAE,GAAG;AAAE,iBAAOA,GAAE;AAAA,QAAM;AAAC,UAAE,UAAU,OAAK,SAASH,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,KAAE,KAAK,MAAKC,KAAE,KAAK,QAAQ;AAAU,cAAG,KAAK,MAAM;AAAS,UAAAF,KAAEH,OAAI,CAAC,CAACA,KAAEA,KAAE,SAAKA,KAAE,IAAE,GAAE,YAAU,OAAOF,KAAEM,GAAE,QAAMP,GAAE,WAAWC,EAAC,IAAE,2BAAyB,EAAE,KAAKA,EAAC,IAAEM,GAAE,QAAM,IAAI,WAAWN,EAAC,IAAEM,GAAE,QAAMN,IAAEM,GAAE,UAAQ,GAAEA,GAAE,WAASA,GAAE,MAAM;AAAO,aAAE;AAAC,gBAAG,MAAIA,GAAE,cAAYA,GAAE,SAAO,IAAI,EAAE,KAAKC,EAAC,GAAED,GAAE,WAAS,GAAEA,GAAE,YAAUC,KAAG,OAAKJ,KAAE,EAAE,QAAQG,IAAED,EAAC,MAAIF,OAAI,EAAE,QAAO,KAAK,MAAMA,EAAC,GAAE,EAAE,KAAK,QAAM;AAAI,kBAAIG,GAAE,cAAY,MAAIA,GAAE,YAAU,MAAID,MAAG,MAAIA,QAAK,aAAW,KAAK,QAAQ,KAAG,KAAK,OAAON,GAAE,cAAc,EAAE,UAAUO,GAAE,QAAOA,GAAE,QAAQ,CAAC,CAAC,IAAE,KAAK,OAAO,EAAE,UAAUA,GAAE,QAAOA,GAAE,QAAQ,CAAC;AAAA,UAAE,UAAQ,IAAEA,GAAE,YAAU,MAAIA,GAAE,cAAY,MAAIH;AAAG,iBAAO,MAAIE,MAAGF,KAAE,EAAE,WAAW,KAAK,IAAI,GAAE,KAAK,MAAMA,EAAC,GAAE,KAAK,QAAM,MAAGA,OAAI,KAAG,MAAIE,OAAI,KAAK,MAAM,CAAC,GAAE,EAAEC,GAAE,YAAU;AAAA,QAAG,GAAE,EAAE,UAAU,SAAO,SAASN,IAAE;AAAC,eAAK,OAAO,KAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAU,QAAM,SAASA,IAAE;AAAC,UAAAA,OAAI,MAAI,aAAW,KAAK,QAAQ,KAAG,KAAK,SAAO,KAAK,OAAO,KAAK,EAAE,IAAE,KAAK,SAAO,EAAE,cAAc,KAAK,MAAM,IAAG,KAAK,SAAO,CAAA,GAAG,KAAK,MAAIA,IAAE,KAAK,MAAI,KAAK,KAAK;AAAA,QAAG,GAAE,EAAE,UAAQ,GAAE,EAAE,UAAQ,GAAE,EAAE,aAAW,SAASA,IAAEE,IAAE;AAAC,kBAAOA,KAAEA,MAAG,CAAA,GAAI,MAAI,MAAG,EAAEF,IAAEE,EAAC;AAAA,QAAC,GAAE,EAAE,OAAK,SAASF,IAAEE,IAAE;AAAC,kBAAOA,KAAEA,MAAG,CAAA,GAAI,OAAK,MAAG,EAAEF,IAAEE,EAAC;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,kBAAiB,IAAG,mBAAkB,IAAG,kBAAiB,IAAG,mBAAkB,IAAG,kBAAiB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,gBAAgB,GAAE,IAAE,EAAE,gBAAgB,GAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,kBAAkB,GAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,gBAAgB,GAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,OAAO,UAAU;AAAS,iBAAS,EAAEF,IAAE;AAAC,cAAG,EAAE,gBAAgB,GAAG,QAAO,IAAI,EAAEA,EAAC;AAAE,eAAK,UAAQ,EAAE,OAAO,EAAC,WAAU,OAAM,YAAW,GAAE,IAAG,GAAE,GAAEA,MAAG,CAAA,CAAE;AAAE,cAAIE,KAAE,KAAK;AAAQ,UAAAA,GAAE,OAAK,KAAGA,GAAE,cAAYA,GAAE,aAAW,OAAKA,GAAE,aAAW,CAACA,GAAE,YAAW,MAAIA,GAAE,eAAaA,GAAE,aAAW,OAAM,EAAE,KAAGA,GAAE,cAAYA,GAAE,aAAW,OAAKF,MAAGA,GAAE,eAAaE,GAAE,cAAY,KAAI,KAAGA,GAAE,cAAYA,GAAE,aAAW,MAAI,MAAI,KAAGA,GAAE,gBAAcA,GAAE,cAAY,KAAI,KAAK,MAAI,GAAE,KAAK,MAAI,IAAG,KAAK,QAAM,OAAG,KAAK,SAAO,CAAA,GAAG,KAAK,OAAK,IAAI,KAAE,KAAK,KAAK,YAAU;AAAE,cAAIC,KAAE,EAAE,aAAa,KAAK,MAAKD,GAAE,UAAU;AAAE,cAAGC,OAAI,EAAE,KAAK,OAAM,IAAI,MAAM,EAAEA,EAAC,CAAC;AAAE,eAAK,SAAO,IAAI,KAAE,EAAE,iBAAiB,KAAK,MAAK,KAAK,MAAM;AAAA,QAAC;AAAC,iBAAS,EAAEH,IAAEE,IAAE;AAAC,cAAIC,KAAE,IAAI,EAAED,EAAC;AAAE,cAAGC,GAAE,KAAKH,IAAE,IAAE,GAAEG,GAAE,IAAI,OAAMA,GAAE,OAAK,EAAEA,GAAE,GAAG;AAAE,iBAAOA,GAAE;AAAA,QAAM;AAAC,UAAE,UAAU,OAAK,SAASH,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEV,KAAE,KAAK,MAAK,IAAE,KAAK,QAAQ,WAAU,IAAE,KAAK,QAAQ,YAAW,IAAE;AAAG,cAAG,KAAK,MAAM,QAAM;AAAG,UAAAM,KAAEH,OAAI,CAAC,CAACA,KAAEA,KAAE,SAAKA,KAAE,EAAE,WAAS,EAAE,YAAW,YAAU,OAAOF,KAAED,GAAE,QAAM,EAAE,cAAcC,EAAC,IAAE,2BAAyB,EAAE,KAAKA,EAAC,IAAED,GAAE,QAAM,IAAI,WAAWC,EAAC,IAAED,GAAE,QAAMC,IAAED,GAAE,UAAQ,GAAEA,GAAE,WAASA,GAAE,MAAM;AAAO,aAAE;AAAC,gBAAG,MAAIA,GAAE,cAAYA,GAAE,SAAO,IAAI,EAAE,KAAK,CAAC,GAAEA,GAAE,WAAS,GAAEA,GAAE,YAAU,KAAII,KAAE,EAAE,QAAQJ,IAAE,EAAE,UAAU,OAAK,EAAE,eAAa,MAAIU,KAAE,YAAU,OAAO,IAAE,EAAE,WAAW,CAAC,IAAE,2BAAyB,EAAE,KAAK,CAAC,IAAE,IAAI,WAAW,CAAC,IAAE,GAAEN,KAAE,EAAE,qBAAqB,KAAK,MAAKM,EAAC,IAAGN,OAAI,EAAE,eAAa,SAAK,MAAIA,KAAE,EAAE,MAAK,IAAE,QAAIA,OAAI,EAAE,gBAAcA,OAAI,EAAE,KAAK,QAAO,KAAK,MAAMA,EAAC,GAAE,EAAE,KAAK,QAAM;AAAI,YAAAJ,GAAE,aAAW,MAAIA,GAAE,aAAWI,OAAI,EAAE,iBAAe,MAAIJ,GAAE,YAAUM,OAAI,EAAE,YAAUA,OAAI,EAAE,kBAAgB,aAAW,KAAK,QAAQ,MAAIC,KAAE,EAAE,WAAWP,GAAE,QAAOA,GAAE,QAAQ,GAAEQ,KAAER,GAAE,WAASO,IAAEE,KAAE,EAAE,WAAWT,GAAE,QAAOO,EAAC,GAAEP,GAAE,WAASQ,IAAER,GAAE,YAAU,IAAEQ,IAAEA,MAAG,EAAE,SAASR,GAAE,QAAOA,GAAE,QAAOO,IAAEC,IAAE,CAAC,GAAE,KAAK,OAAOC,EAAC,KAAG,KAAK,OAAO,EAAE,UAAUT,GAAE,QAAOA,GAAE,QAAQ,CAAC,KAAI,MAAIA,GAAE,YAAU,MAAIA,GAAE,cAAY,IAAE;AAAA,UAAG,UAAQ,IAAEA,GAAE,YAAU,MAAIA,GAAE,cAAYI,OAAI,EAAE;AAAc,iBAAOA,OAAI,EAAE,iBAAeE,KAAE,EAAE,WAAUA,OAAI,EAAE,YAAUF,KAAE,EAAE,WAAW,KAAK,IAAI,GAAE,KAAK,MAAMA,EAAC,GAAE,KAAK,QAAM,MAAGA,OAAI,EAAE,QAAME,OAAI,EAAE,iBAAe,KAAK,MAAM,EAAE,IAAI,GAAE,EAAEN,GAAE,YAAU;AAAA,QAAG,GAAE,EAAE,UAAU,SAAO,SAASC,IAAE;AAAC,eAAK,OAAO,KAAKA,EAAC;AAAA,QAAC,GAAE,EAAE,UAAU,QAAM,SAASA,IAAE;AAAC,UAAAA,OAAI,EAAE,SAAO,aAAW,KAAK,QAAQ,KAAG,KAAK,SAAO,KAAK,OAAO,KAAK,EAAE,IAAE,KAAK,SAAO,EAAE,cAAc,KAAK,MAAM,IAAG,KAAK,SAAO,CAAA,GAAG,KAAK,MAAIA,IAAE,KAAK,MAAI,KAAK,KAAK;AAAA,QAAG,GAAE,EAAE,UAAQ,GAAE,EAAE,UAAQ,GAAE,EAAE,aAAW,SAASA,IAAEE,IAAE;AAAC,kBAAOA,KAAEA,MAAG,IAAI,MAAI,MAAG,EAAEF,IAAEE,EAAC;AAAA,QAAC,GAAE,EAAE,SAAO;AAAA,MAAC,GAAE,EAAC,kBAAiB,IAAG,mBAAkB,IAAG,oBAAmB,IAAG,mBAAkB,IAAG,kBAAiB,IAAG,mBAAkB,IAAG,kBAAiB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,eAAa,OAAO,cAAY,eAAa,OAAO,eAAa,eAAa,OAAO;AAAW,UAAE,SAAO,SAASF,IAAE;AAAC,mBAAQE,KAAE,MAAM,UAAU,MAAM,KAAK,WAAU,CAAC,GAAEA,GAAE,UAAQ;AAAC,gBAAIC,KAAED,GAAE;AAAQ,gBAAGC,IAAE;AAAC,kBAAG,YAAU,OAAOA,GAAE,OAAM,IAAI,UAAUA,KAAE,oBAAoB;AAAE,uBAAQE,MAAKF,GAAE,CAAAA,GAAE,eAAeE,EAAC,MAAIL,GAAEK,EAAC,IAAEF,GAAEE,EAAC;AAAA,YAAE;AAAA,UAAC;AAAC,iBAAOL;AAAA,QAAC,GAAE,EAAE,YAAU,SAASA,IAAEE,IAAE;AAAC,iBAAOF,GAAE,WAASE,KAAEF,KAAEA,GAAE,WAASA,GAAE,SAAS,GAAEE,EAAC,KAAGF,GAAE,SAAOE,IAAEF;AAAA,QAAE;AAAE,YAAI,IAAE,EAAC,UAAS,SAASA,IAAEE,IAAEC,IAAEE,IAAEC,IAAE;AAAC,cAAGJ,GAAE,YAAUF,GAAE,SAAS,CAAAA,GAAE,IAAIE,GAAE,SAASC,IAAEA,KAAEE,EAAC,GAAEC,EAAC;AAAA,cAAO,UAAQC,KAAE,GAAEA,KAAEF,IAAEE,KAAI,CAAAP,GAAEM,KAAEC,EAAC,IAAEL,GAAEC,KAAEI,EAAC;AAAA,QAAC,GAAE,eAAc,SAASP,IAAE;AAAC,cAAIE,IAAEC,IAAEE,IAAEC,IAAEC,IAAE;AAAE,eAAIL,KAAEG,KAAE,GAAEF,KAAEH,GAAE,QAAOE,KAAEC,IAAED,KAAI,CAAAG,MAAGL,GAAEE,EAAC,EAAE;AAAO,eAAI,IAAE,IAAI,WAAWG,EAAC,GAAEH,KAAEI,KAAE,GAAEH,KAAEH,GAAE,QAAOE,KAAEC,IAAED,KAAI,CAAAK,KAAEP,GAAEE,EAAC,GAAE,EAAE,IAAIK,IAAED,EAAC,GAAEA,MAAGC,GAAE;AAAO,iBAAO;AAAA,QAAC,EAAC,GAAE,IAAE,EAAC,UAAS,SAASP,IAAEE,IAAEC,IAAEE,IAAEC,IAAE;AAAC,mBAAQC,KAAE,GAAEA,KAAEF,IAAEE,KAAI,CAAAP,GAAEM,KAAEC,EAAC,IAAEL,GAAEC,KAAEI,EAAC;AAAA,QAAC,GAAE,eAAc,SAASP,IAAE;AAAC,iBAAM,CAAA,EAAG,OAAO,MAAM,CAAA,GAAGA,EAAC;AAAA,QAAC,EAAC;AAAE,UAAE,WAAS,SAASA,IAAE;AAAC,UAAAA,MAAG,EAAE,OAAK,YAAW,EAAE,QAAM,aAAY,EAAE,QAAM,YAAW,EAAE,OAAO,GAAE,CAAC,MAAI,EAAE,OAAK,OAAM,EAAE,QAAM,OAAM,EAAE,QAAM,OAAM,EAAE,OAAO,GAAE,CAAC;AAAA,QAAE,GAAE,EAAE,SAAS,CAAC;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAID,KAAE,EAAE,UAAU,GAAE,IAAE,MAAG,IAAE;AAAG,YAAG;AAAC,iBAAO,aAAa,MAAM,MAAK,CAAC,CAAC,CAAC;AAAA,QAAC,SAAOC,IAAE;AAAC,cAAE;AAAA,QAAE;AAAC,YAAG;AAAC,iBAAO,aAAa,MAAM,MAAK,IAAI,WAAW,CAAC,CAAC;AAAA,QAAC,SAAOA,IAAE;AAAC,cAAE;AAAA,QAAE;AAAC,iBAAQ,IAAE,IAAID,GAAE,KAAK,GAAG,GAAE,IAAE,GAAE,IAAE,KAAI,IAAI,GAAE,CAAC,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE,OAAK,IAAE,IAAE;AAAE,iBAAS,EAAEC,IAAEE,IAAE;AAAC,cAAGA,KAAE,UAAQF,GAAE,YAAU,KAAG,CAACA,GAAE,YAAU,GAAG,QAAO,OAAO,aAAa,MAAM,MAAKD,GAAE,UAAUC,IAAEE,EAAC,CAAC;AAAE,mBAAQC,KAAE,IAAGE,KAAE,GAAEA,KAAEH,IAAEG,KAAI,CAAAF,MAAG,OAAO,aAAaH,GAAEK,EAAC,CAAC;AAAE,iBAAOF;AAAA,QAAC;AAAC,UAAE,GAAG,IAAE,EAAE,GAAG,IAAE,GAAE,EAAE,aAAW,SAASH,IAAE;AAAC,cAAIE,IAAEC,IAAEE,IAAEC,IAAEC,IAAE,IAAEP,GAAE,QAAO,IAAE;AAAE,eAAIM,KAAE,GAAEA,KAAE,GAAEA,KAAI,WAAQ,SAAOH,KAAEH,GAAE,WAAWM,EAAC,OAAKA,KAAE,IAAE,KAAG,UAAQ,SAAOD,KAAEL,GAAE,WAAWM,KAAE,CAAC,QAAMH,KAAE,SAAOA,KAAE,SAAO,OAAKE,KAAE,QAAOC,OAAK,KAAGH,KAAE,MAAI,IAAEA,KAAE,OAAK,IAAEA,KAAE,QAAM,IAAE;AAAE,eAAID,KAAE,IAAIH,GAAE,KAAK,CAAC,GAAEO,KAAEC,KAAE,GAAEA,KAAE,GAAED,KAAI,WAAQ,SAAOH,KAAEH,GAAE,WAAWM,EAAC,OAAKA,KAAE,IAAE,KAAG,UAAQ,SAAOD,KAAEL,GAAE,WAAWM,KAAE,CAAC,QAAMH,KAAE,SAAOA,KAAE,SAAO,OAAKE,KAAE,QAAOC,OAAKH,KAAE,MAAID,GAAEK,IAAG,IAAEJ,MAAGA,KAAE,OAAKD,GAAEK,IAAG,IAAE,MAAIJ,OAAI,KAAGA,KAAE,QAAMD,GAAEK,IAAG,IAAE,MAAIJ,OAAI,MAAID,GAAEK,IAAG,IAAE,MAAIJ,OAAI,IAAGD,GAAEK,IAAG,IAAE,MAAIJ,OAAI,KAAG,KAAID,GAAEK,IAAG,IAAE,MAAIJ,OAAI,IAAE,KAAID,GAAEK,IAAG,IAAE,MAAI,KAAGJ;AAAG,iBAAOD;AAAA,QAAC,GAAE,EAAE,gBAAc,SAASF,IAAE;AAAC,iBAAO,EAAEA,IAAEA,GAAE,MAAM;AAAA,QAAC,GAAE,EAAE,gBAAc,SAASA,IAAE;AAAC,mBAAQE,KAAE,IAAIH,GAAE,KAAKC,GAAE,MAAM,GAAEG,KAAE,GAAEE,KAAEH,GAAE,QAAOC,KAAEE,IAAEF,KAAI,CAAAD,GAAEC,EAAC,IAAEH,GAAE,WAAWG,EAAC;AAAE,iBAAOD;AAAA,QAAC,GAAE,EAAE,aAAW,SAASF,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,IAAEC,IAAE,IAAEL,MAAGF,GAAE,QAAO,IAAE,IAAI,MAAM,IAAE,CAAC;AAAE,eAAIG,KAAEE,KAAE,GAAEF,KAAE,IAAG,MAAIG,KAAEN,GAAEG,IAAG,KAAG,IAAI,GAAEE,IAAG,IAAEC;AAAA,mBAAU,KAAGC,KAAE,EAAED,EAAC,GAAG,GAAED,IAAG,IAAE,OAAMF,MAAGI,KAAE;AAAA,eAAM;AAAC,iBAAID,MAAG,MAAIC,KAAE,KAAG,MAAIA,KAAE,KAAG,GAAE,IAAEA,MAAGJ,KAAE,IAAG,CAAAG,KAAEA,MAAG,IAAE,KAAGN,GAAEG,IAAG,GAAEI;AAAI,gBAAEA,KAAE,EAAEF,IAAG,IAAE,QAAMC,KAAE,QAAM,EAAED,IAAG,IAAEC,MAAGA,MAAG,OAAM,EAAED,IAAG,IAAE,QAAMC,MAAG,KAAG,MAAK,EAAED,IAAG,IAAE,QAAM,OAAKC;AAAA,UAAE;AAAC,iBAAO,EAAE,GAAED,EAAC;AAAA,QAAC,GAAE,EAAE,aAAW,SAASL,IAAEE,IAAE;AAAC,cAAIC;AAAE,gBAAKD,KAAEA,MAAGF,GAAE,UAAQA,GAAE,WAASE,KAAEF,GAAE,SAAQG,KAAED,KAAE,GAAE,KAAGC,MAAG,QAAM,MAAIH,GAAEG,EAAC,KAAI,CAAAA;AAAI,iBAAOA,KAAE,IAAED,KAAE,MAAIC,KAAED,KAAEC,KAAE,EAAEH,GAAEG,EAAC,CAAC,IAAED,KAAEC,KAAED;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,YAAW,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,SAASF,IAAEE,IAAEC,IAAE,GAAE;AAAC,mBAAQ,IAAE,QAAMH,KAAE,GAAE,IAAEA,OAAI,KAAG,QAAM,GAAE,IAAE,GAAE,MAAIG,MAAG;AAAC,iBAAIA,MAAG,IAAE,MAAIA,KAAE,MAAIA,IAAE,IAAE,KAAG,IAAE,IAAED,GAAE,GAAG,IAAE,KAAG,GAAE,EAAE,IAAG;AAAC,iBAAG,OAAM,KAAG;AAAA,UAAK;AAAC,iBAAO,IAAE,KAAG,KAAG;AAAA,QAAC;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,EAAC,YAAW,GAAE,iBAAgB,GAAE,cAAa,GAAE,cAAa,GAAE,UAAS,GAAE,SAAQ,GAAE,SAAQ,GAAE,MAAK,GAAE,cAAa,GAAE,aAAY,GAAE,SAAQ,IAAG,gBAAe,IAAG,cAAa,IAAG,aAAY,IAAG,kBAAiB,GAAE,cAAa,GAAE,oBAAmB,GAAE,uBAAsB,IAAG,YAAW,GAAE,gBAAe,GAAE,OAAM,GAAE,SAAQ,GAAE,oBAAmB,GAAE,UAAS,GAAE,QAAO,GAAE,WAAU,GAAE,YAAW,EAAC;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,KAAE,WAAU;AAAC,mBAAQF,IAAEE,KAAE,CAAA,GAAGC,KAAE,GAAEA,KAAE,KAAIA,MAAI;AAAC,YAAAH,KAAEG;AAAE,qBAAQ,IAAE,GAAE,IAAE,GAAE,IAAI,CAAAH,KAAE,IAAEA,KAAE,aAAWA,OAAI,IAAEA,OAAI;AAAE,YAAAE,GAAEC,EAAC,IAAEH;AAAA,UAAC;AAAC,iBAAOE;AAAA,QAAC,GAAC;AAAG,UAAE,UAAQ,SAASF,IAAEE,IAAEC,IAAE,GAAE;AAAC,cAAI,IAAE,GAAE,IAAE,IAAEA;AAAE,UAAAH,MAAG;AAAG,mBAAQ,IAAE,GAAE,IAAE,GAAE,IAAI,CAAAA,KAAEA,OAAI,IAAE,EAAE,OAAKA,KAAEE,GAAE,CAAC,EAAE;AAAE,sBAASF;AAAA,QAAC;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAID,IAAE,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,WAAW,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,IAAG,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,KAAI,IAAE,IAAG,IAAE,IAAG,IAAE,IAAE,IAAE,GAAE,IAAE,IAAG,IAAE,GAAE,IAAE,KAAI,IAAE,IAAE,IAAE,GAAE,IAAE,IAAG,IAAE,KAAI,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE;AAAE,iBAAS,EAAEC,IAAEE,IAAE;AAAC,iBAAOF,GAAE,MAAI,EAAEE,EAAC,GAAEA;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAE;AAAC,kBAAOA,MAAG,MAAI,IAAEA,KAAE,IAAE;AAAA,QAAE;AAAC,iBAAS,EAAEA,IAAE;AAAC,mBAAQE,KAAEF,GAAE,QAAO,KAAG,EAAEE,KAAG,CAAAF,GAAEE,EAAC,IAAE;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAE;AAAC,cAAIE,KAAEF,GAAE,OAAMG,KAAED,GAAE;AAAQ,UAAAC,KAAEH,GAAE,cAAYG,KAAEH,GAAE,YAAW,MAAIG,OAAI,EAAE,SAASH,GAAE,QAAOE,GAAE,aAAYA,GAAE,aAAYC,IAAEH,GAAE,QAAQ,GAAEA,GAAE,YAAUG,IAAED,GAAE,eAAaC,IAAEH,GAAE,aAAWG,IAAEH,GAAE,aAAWG,IAAED,GAAE,WAASC,IAAE,MAAID,GAAE,YAAUA,GAAE,cAAY;AAAA,QAAG;AAAC,iBAAS,EAAEF,IAAEE,IAAE;AAAC,YAAE,gBAAgBF,IAAE,KAAGA,GAAE,cAAYA,GAAE,cAAY,IAAGA,GAAE,WAASA,GAAE,aAAYE,EAAC,GAAEF,GAAE,cAAYA,GAAE,UAAS,EAAEA,GAAE,IAAI;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,UAAAF,GAAE,YAAYA,GAAE,SAAS,IAAEE;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAEE,IAAE;AAAC,UAAAF,GAAE,YAAYA,GAAE,SAAS,IAAEE,OAAI,IAAE,KAAIF,GAAE,YAAYA,GAAE,SAAS,IAAE,MAAIE;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,KAAEN,GAAE,kBAAiBO,KAAEP,GAAE,UAASQ,KAAER,GAAE,aAAYS,KAAET,GAAE,YAAWD,KAAEC,GAAE,WAASA,GAAE,SAAO,IAAEA,GAAE,YAAUA,GAAE,SAAO,KAAG,GAAEW,KAAEX,GAAE,QAAOY,KAAEZ,GAAE,QAAOa,KAAEb,GAAE,MAAKI,KAAEJ,GAAE,WAAS,GAAEc,KAAEH,GAAEJ,KAAEC,KAAE,CAAC,GAAEO,KAAEJ,GAAEJ,KAAEC,EAAC;AAAE,UAAAR,GAAE,eAAaA,GAAE,eAAaM,OAAI,IAAGG,KAAET,GAAE,cAAYS,KAAET,GAAE;AAAW,aAAE;AAAC,gBAAGW,IAAGR,KAAED,MAAGM,EAAC,MAAIO,MAAGJ,GAAER,KAAEK,KAAE,CAAC,MAAIM,MAAGH,GAAER,EAAC,MAAIQ,GAAEJ,EAAC,KAAGI,GAAE,EAAER,EAAC,MAAIQ,GAAEJ,KAAE,CAAC,GAAE;AAAC,cAAAA,MAAG,GAAEJ;AAAI,iBAAE;AAAA,cAAA,SAAQQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGQ,GAAE,EAAEJ,EAAC,MAAII,GAAE,EAAER,EAAC,KAAGI,KAAEH;AAAG,kBAAGC,KAAE,KAAGD,KAAEG,KAAGA,KAAEH,KAAE,GAAEI,KAAEH,IAAE;AAAC,oBAAGL,GAAE,cAAYE,IAAEO,OAAID,KAAEH,IAAG;AAAM,gBAAAS,KAAEH,GAAEJ,KAAEC,KAAE,CAAC,GAAEO,KAAEJ,GAAEJ,KAAEC,EAAC;AAAA,cAAC;AAAA,YAAC;AAAA,UAAC,UAAQN,KAAEW,GAAEX,KAAEU,EAAC,KAAGb,MAAG,KAAG,EAAEO;AAAG,iBAAOE,MAAGR,GAAE,YAAUQ,KAAER,GAAE;AAAA,QAAS;AAAC,iBAAS,EAAEA,IAAE;AAAC,cAAIE,IAAEC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEV,IAAEY,IAAEC,IAAEC,KAAEb,GAAE;AAAO,aAAE;AAAC,gBAAGM,KAAEN,GAAE,cAAYA,GAAE,YAAUA,GAAE,UAASA,GAAE,YAAUa,MAAGA,KAAE,IAAG;AAAC,mBAAI,EAAE,SAASb,GAAE,QAAOA,GAAE,QAAOa,IAAEA,IAAE,CAAC,GAAEb,GAAE,eAAaa,IAAEb,GAAE,YAAUa,IAAEb,GAAE,eAAaa,IAAEX,KAAEC,KAAEH,GAAE,WAAUK,KAAEL,GAAE,KAAK,EAAEE,EAAC,GAAEF,GAAE,KAAKE,EAAC,IAAEW,MAAGR,KAAEA,KAAEQ,KAAE,GAAE,EAAEV,KAAG;AAAC,mBAAID,KAAEC,KAAEU,IAAER,KAAEL,GAAE,KAAK,EAAEE,EAAC,GAAEF,GAAE,KAAKE,EAAC,IAAEW,MAAGR,KAAEA,KAAEQ,KAAE,GAAE,EAAEV,KAAG;AAAC,cAAAG,MAAGO;AAAA,YAAC;AAAC,gBAAG,MAAIb,GAAE,KAAK,SAAS;AAAM,gBAAGQ,KAAER,GAAE,MAAKS,KAAET,GAAE,QAAOD,KAAEC,GAAE,WAASA,GAAE,WAAUW,KAAEL,IAAEM,KAAE,QAAOA,KAAEJ,GAAE,UAASG,KAAEC,OAAIA,KAAED,KAAGR,KAAE,MAAIS,KAAE,KAAGJ,GAAE,YAAUI,IAAE,EAAE,SAASH,IAAED,GAAE,OAAMA,GAAE,SAAQI,IAAEb,EAAC,GAAE,MAAIS,GAAE,MAAM,OAAKA,GAAE,QAAM,EAAEA,GAAE,OAAMC,IAAEG,IAAEb,EAAC,IAAE,MAAIS,GAAE,MAAM,SAAOA,GAAE,QAAM,EAAEA,GAAE,OAAMC,IAAEG,IAAEb,EAAC,IAAGS,GAAE,WAASI,IAAEJ,GAAE,YAAUI,IAAEA,KAAGZ,GAAE,aAAWG,IAAEH,GAAE,YAAUA,GAAE,UAAQ,EAAE,MAAIO,KAAEP,GAAE,WAASA,GAAE,QAAOA,GAAE,QAAMA,GAAE,OAAOO,EAAC,GAAEP,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOO,KAAE,CAAC,KAAGP,GAAE,WAAUA,GAAE,WAASA,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOO,KAAE,IAAE,CAAC,KAAGP,GAAE,WAAUA,GAAE,KAAKO,KAAEP,GAAE,MAAM,IAAEA,GAAE,KAAKA,GAAE,KAAK,GAAEA,GAAE,KAAKA,GAAE,KAAK,IAAEO,IAAEA,MAAIP,GAAE,UAAS,EAAEA,GAAE,YAAUA,GAAE,SAAO,MAAK;AAAA,UAAC,SAAOA,GAAE,YAAU,KAAG,MAAIA,GAAE,KAAK;AAAA,QAAS;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,mBAAQC,IAAEE,QAAI;AAAC,gBAAGL,GAAE,YAAU,GAAE;AAAC,kBAAG,EAAEA,EAAC,GAAEA,GAAE,YAAU,KAAGE,OAAI,EAAE,QAAO;AAAE,kBAAG,MAAIF,GAAE,UAAU;AAAA,YAAK;AAAC,gBAAGG,KAAE,GAAEH,GAAE,aAAW,MAAIA,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOA,GAAE,WAAS,IAAE,CAAC,KAAGA,GAAE,WAAUG,KAAEH,GAAE,KAAKA,GAAE,WAASA,GAAE,MAAM,IAAEA,GAAE,KAAKA,GAAE,KAAK,GAAEA,GAAE,KAAKA,GAAE,KAAK,IAAEA,GAAE,WAAU,MAAIG,MAAGH,GAAE,WAASG,MAAGH,GAAE,SAAO,MAAIA,GAAE,eAAa,EAAEA,IAAEG,EAAC,IAAGH,GAAE,gBAAc,EAAE,KAAGK,KAAE,EAAE,UAAUL,IAAEA,GAAE,WAASA,GAAE,aAAYA,GAAE,eAAa,CAAC,GAAEA,GAAE,aAAWA,GAAE,cAAaA,GAAE,gBAAcA,GAAE,kBAAgBA,GAAE,aAAW,GAAE;AAAC,mBAAIA,GAAE,gBAAeA,GAAE,YAAWA,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOA,GAAE,WAAS,IAAE,CAAC,KAAGA,GAAE,WAAUG,KAAEH,GAAE,KAAKA,GAAE,WAASA,GAAE,MAAM,IAAEA,GAAE,KAAKA,GAAE,KAAK,GAAEA,GAAE,KAAKA,GAAE,KAAK,IAAEA,GAAE,UAAS,KAAG,EAAEA,GAAE,eAAc;AAAC,cAAAA,GAAE;AAAA,YAAU,MAAM,CAAAA,GAAE,YAAUA,GAAE,cAAaA,GAAE,eAAa,GAAEA,GAAE,QAAMA,GAAE,OAAOA,GAAE,QAAQ,GAAEA,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOA,GAAE,WAAS,CAAC,KAAGA,GAAE;AAAA,gBAAe,CAAAK,KAAE,EAAE,UAAUL,IAAE,GAAEA,GAAE,OAAOA,GAAE,QAAQ,CAAC,GAAEA,GAAE,aAAYA,GAAE;AAAW,gBAAGK,OAAI,EAAEL,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,WAAW,QAAO;AAAA,UAAC;AAAC,iBAAOA,GAAE,SAAOA,GAAE,WAAS,IAAE,IAAEA,GAAE,WAAS,IAAE,GAAEE,OAAI,KAAG,EAAEF,IAAE,IAAE,GAAE,MAAIA,GAAE,KAAK,YAAU,IAAE,KAAGA,GAAE,aAAW,EAAEA,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,aAAW,IAAE;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,mBAAQC,IAAEE,IAAEC,QAAI;AAAC,gBAAGN,GAAE,YAAU,GAAE;AAAC,kBAAG,EAAEA,EAAC,GAAEA,GAAE,YAAU,KAAGE,OAAI,EAAE,QAAO;AAAE,kBAAG,MAAIF,GAAE,UAAU;AAAA,YAAK;AAAC,gBAAGG,KAAE,GAAEH,GAAE,aAAW,MAAIA,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOA,GAAE,WAAS,IAAE,CAAC,KAAGA,GAAE,WAAUG,KAAEH,GAAE,KAAKA,GAAE,WAASA,GAAE,MAAM,IAAEA,GAAE,KAAKA,GAAE,KAAK,GAAEA,GAAE,KAAKA,GAAE,KAAK,IAAEA,GAAE,WAAUA,GAAE,cAAYA,GAAE,cAAaA,GAAE,aAAWA,GAAE,aAAYA,GAAE,eAAa,IAAE,GAAE,MAAIG,MAAGH,GAAE,cAAYA,GAAE,kBAAgBA,GAAE,WAASG,MAAGH,GAAE,SAAO,MAAIA,GAAE,eAAa,EAAEA,IAAEG,EAAC,GAAEH,GAAE,gBAAc,MAAI,MAAIA,GAAE,YAAUA,GAAE,iBAAe,KAAG,OAAKA,GAAE,WAASA,GAAE,iBAAeA,GAAE,eAAa,IAAE,KAAIA,GAAE,eAAa,KAAGA,GAAE,gBAAcA,GAAE,aAAY;AAAC,mBAAIM,KAAEN,GAAE,WAASA,GAAE,YAAU,GAAEK,KAAE,EAAE,UAAUL,IAAEA,GAAE,WAAS,IAAEA,GAAE,YAAWA,GAAE,cAAY,CAAC,GAAEA,GAAE,aAAWA,GAAE,cAAY,GAAEA,GAAE,eAAa,GAAE,EAAEA,GAAE,YAAUM,OAAIN,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOA,GAAE,WAAS,IAAE,CAAC,KAAGA,GAAE,WAAUG,KAAEH,GAAE,KAAKA,GAAE,WAASA,GAAE,MAAM,IAAEA,GAAE,KAAKA,GAAE,KAAK,GAAEA,GAAE,KAAKA,GAAE,KAAK,IAAEA,GAAE,WAAU,KAAG,EAAEA,GAAE,cAAa;AAAC,kBAAGA,GAAE,kBAAgB,GAAEA,GAAE,eAAa,IAAE,GAAEA,GAAE,YAAWK,OAAI,EAAEL,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,WAAW,QAAO;AAAA,YAAC,WAASA,GAAE,iBAAgB;AAAC,mBAAIK,KAAE,EAAE,UAAUL,IAAE,GAAEA,GAAE,OAAOA,GAAE,WAAS,CAAC,CAAC,MAAI,EAAEA,IAAE,KAAE,GAAEA,GAAE,YAAWA,GAAE,aAAY,MAAIA,GAAE,KAAK,UAAU,QAAO;AAAA,YAAC,MAAM,CAAAA,GAAE,kBAAgB,GAAEA,GAAE,YAAWA,GAAE;AAAA,UAAW;AAAC,iBAAOA,GAAE,oBAAkBK,KAAE,EAAE,UAAUL,IAAE,GAAEA,GAAE,OAAOA,GAAE,WAAS,CAAC,CAAC,GAAEA,GAAE,kBAAgB,IAAGA,GAAE,SAAOA,GAAE,WAAS,IAAE,IAAEA,GAAE,WAAS,IAAE,GAAEE,OAAI,KAAG,EAAEF,IAAE,IAAE,GAAE,MAAIA,GAAE,KAAK,YAAU,IAAE,KAAGA,GAAE,aAAW,EAAEA,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,aAAW,IAAE;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAEC,IAAEE,IAAEC,IAAE;AAAC,eAAK,cAAYN,IAAE,KAAK,WAASE,IAAE,KAAK,cAAYC,IAAE,KAAK,YAAUE,IAAE,KAAK,OAAKC;AAAA,QAAC;AAAC,iBAAS,IAAG;AAAC,eAAK,OAAK,MAAK,KAAK,SAAO,GAAE,KAAK,cAAY,MAAK,KAAK,mBAAiB,GAAE,KAAK,cAAY,GAAE,KAAK,UAAQ,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO,MAAK,KAAK,UAAQ,GAAE,KAAK,SAAO,GAAE,KAAK,aAAW,IAAG,KAAK,SAAO,GAAE,KAAK,SAAO,GAAE,KAAK,SAAO,GAAE,KAAK,SAAO,MAAK,KAAK,cAAY,GAAE,KAAK,OAAK,MAAK,KAAK,OAAK,MAAK,KAAK,QAAM,GAAE,KAAK,YAAU,GAAE,KAAK,YAAU,GAAE,KAAK,YAAU,GAAE,KAAK,aAAW,GAAE,KAAK,cAAY,GAAE,KAAK,eAAa,GAAE,KAAK,aAAW,GAAE,KAAK,kBAAgB,GAAE,KAAK,WAAS,GAAE,KAAK,cAAY,GAAE,KAAK,YAAU,GAAE,KAAK,cAAY,GAAE,KAAK,mBAAiB,GAAE,KAAK,iBAAe,GAAE,KAAK,QAAM,GAAE,KAAK,WAAS,GAAE,KAAK,aAAW,GAAE,KAAK,aAAW,GAAE,KAAK,YAAU,IAAI,EAAE,MAAM,IAAE,CAAC,GAAE,KAAK,YAAU,IAAI,EAAE,MAAM,KAAG,IAAE,IAAE,EAAE,GAAE,KAAK,UAAQ,IAAI,EAAE,MAAM,KAAG,IAAE,IAAE,EAAE,GAAE,EAAE,KAAK,SAAS,GAAE,EAAE,KAAK,SAAS,GAAE,EAAE,KAAK,OAAO,GAAE,KAAK,SAAO,MAAK,KAAK,SAAO,MAAK,KAAK,UAAQ,MAAK,KAAK,WAAS,IAAI,EAAE,MAAM,IAAE,CAAC,GAAE,KAAK,OAAK,IAAI,EAAE,MAAM,IAAE,IAAE,CAAC,GAAE,EAAE,KAAK,IAAI,GAAE,KAAK,WAAS,GAAE,KAAK,WAAS,GAAE,KAAK,QAAM,IAAI,EAAE,MAAM,IAAE,IAAE,CAAC,GAAE,EAAE,KAAK,KAAK,GAAE,KAAK,QAAM,GAAE,KAAK,cAAY,GAAE,KAAK,WAAS,GAAE,KAAK,QAAM,GAAE,KAAK,UAAQ,GAAE,KAAK,aAAW,GAAE,KAAK,UAAQ,GAAE,KAAK,SAAO,GAAE,KAAK,SAAO,GAAE,KAAK,WAAS;AAAA,QAAC;AAAC,iBAAS,EAAEN,IAAE;AAAC,cAAIE;AAAE,iBAAOF,MAAGA,GAAE,SAAOA,GAAE,WAASA,GAAE,YAAU,GAAEA,GAAE,YAAU,IAAGE,KAAEF,GAAE,OAAO,UAAQ,GAAEE,GAAE,cAAY,GAAEA,GAAE,OAAK,MAAIA,GAAE,OAAK,CAACA,GAAE,OAAMA,GAAE,SAAOA,GAAE,OAAK,IAAE,GAAEF,GAAE,QAAM,MAAIE,GAAE,OAAK,IAAE,GAAEA,GAAE,aAAW,GAAE,EAAE,SAASA,EAAC,GAAE,KAAG,EAAEF,IAAE,CAAC;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAE;AAAC,cAAIE,KAAE,EAAEF,EAAC;AAAE,iBAAOE,OAAI,MAAG,SAASF,IAAE;AAAC,YAAAA,GAAE,cAAY,IAAEA,GAAE,QAAO,EAAEA,GAAE,IAAI,GAAEA,GAAE,iBAAeD,GAAEC,GAAE,KAAK,EAAE,UAASA,GAAE,aAAWD,GAAEC,GAAE,KAAK,EAAE,aAAYA,GAAE,aAAWD,GAAEC,GAAE,KAAK,EAAE,aAAYA,GAAE,mBAAiBD,GAAEC,GAAE,KAAK,EAAE,WAAUA,GAAE,WAAS,GAAEA,GAAE,cAAY,GAAEA,GAAE,YAAU,GAAEA,GAAE,SAAO,GAAEA,GAAE,eAAaA,GAAE,cAAY,IAAE,GAAEA,GAAE,kBAAgB,GAAEA,GAAE,QAAM;AAAA,UAAC,GAAEA,GAAE,KAAK,GAAEE;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAEE,IAAEC,IAAEE,IAAEC,IAAEC,IAAE;AAAC,cAAG,CAACP,GAAE,QAAO;AAAE,cAAIQ,KAAE;AAAE,cAAGN,OAAI,MAAIA,KAAE,IAAGG,KAAE,KAAGG,KAAE,GAAEH,KAAE,CAACA,MAAG,KAAGA,OAAIG,KAAE,GAAEH,MAAG,KAAIC,KAAE,KAAG,IAAEA,MAAGH,OAAI,KAAGE,KAAE,KAAG,KAAGA,MAAGH,KAAE,KAAG,IAAEA,MAAGK,KAAE,KAAG,IAAEA,GAAE,QAAO,EAAEP,IAAE,CAAC;AAAE,gBAAIK,OAAIA,KAAE;AAAG,cAAII,KAAE,IAAI;AAAE,kBAAOT,GAAE,QAAMS,IAAG,OAAKT,IAAES,GAAE,OAAKD,IAAEC,GAAE,SAAO,MAAKA,GAAE,SAAOJ,IAAEI,GAAE,SAAO,KAAGA,GAAE,QAAOA,GAAE,SAAOA,GAAE,SAAO,GAAEA,GAAE,YAAUH,KAAE,GAAEG,GAAE,YAAU,KAAGA,GAAE,WAAUA,GAAE,YAAUA,GAAE,YAAU,GAAEA,GAAE,aAAW,CAAC,GAAGA,GAAE,YAAU,IAAE,KAAG,IAAGA,GAAE,SAAO,IAAI,EAAE,KAAK,IAAEA,GAAE,MAAM,GAAEA,GAAE,OAAK,IAAI,EAAE,MAAMA,GAAE,SAAS,GAAEA,GAAE,OAAK,IAAI,EAAE,MAAMA,GAAE,MAAM,GAAEA,GAAE,cAAY,KAAGH,KAAE,GAAEG,GAAE,mBAAiB,IAAEA,GAAE,aAAYA,GAAE,cAAY,IAAI,EAAE,KAAKA,GAAE,gBAAgB,GAAEA,GAAE,QAAM,IAAEA,GAAE,aAAYA,GAAE,QAAM,IAAEA,GAAE,aAAYA,GAAE,QAAMP,IAAEO,GAAE,WAASF,IAAEE,GAAE,SAAON,IAAE,EAAEH,EAAC;AAAA,QAAC;AAAC,QAAAD,KAAE,CAAC,IAAI,EAAE,GAAE,GAAE,GAAE,GAAE,SAASC,IAAEE,IAAE;AAAC,cAAIC,KAAE;AAAM,eAAIA,KAAEH,GAAE,mBAAiB,MAAIG,KAAEH,GAAE,mBAAiB,QAAK;AAAC,gBAAGA,GAAE,aAAW,GAAE;AAAC,kBAAG,EAAEA,EAAC,GAAE,MAAIA,GAAE,aAAWE,OAAI,EAAE,QAAO;AAAE,kBAAG,MAAIF,GAAE,UAAU;AAAA,YAAK;AAAC,YAAAA,GAAE,YAAUA,GAAE,WAAUA,GAAE,YAAU;AAAE,gBAAIK,KAAEL,GAAE,cAAYG;AAAE,iBAAI,MAAIH,GAAE,YAAUA,GAAE,YAAUK,QAAKL,GAAE,YAAUA,GAAE,WAASK,IAAEL,GAAE,WAASK,IAAE,EAAEL,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,WAAW,QAAO;AAAE,gBAAGA,GAAE,WAASA,GAAE,eAAaA,GAAE,SAAO,MAAI,EAAEA,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,WAAW,QAAO;AAAA,UAAC;AAAC,iBAAOA,GAAE,SAAO,GAAEE,OAAI,KAAG,EAAEF,IAAE,IAAE,GAAE,MAAIA,GAAE,KAAK,YAAU,IAAE,MAAIA,GAAE,WAASA,GAAE,gBAAc,EAAEA,IAAE,KAAE,GAAEA,GAAE,KAAK,YAAW;AAAA,QAAE,CAAC,GAAE,IAAI,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,IAAI,EAAE,GAAE,GAAE,IAAG,GAAE,CAAC,GAAE,IAAI,EAAE,GAAE,GAAE,IAAG,IAAG,CAAC,GAAE,IAAI,EAAE,GAAE,GAAE,IAAG,IAAG,CAAC,GAAE,IAAI,EAAE,GAAE,IAAG,IAAG,IAAG,CAAC,GAAE,IAAI,EAAE,GAAE,IAAG,KAAI,KAAI,CAAC,GAAE,IAAI,EAAE,GAAE,IAAG,KAAI,KAAI,CAAC,GAAE,IAAI,EAAE,IAAG,KAAI,KAAI,MAAK,CAAC,GAAE,IAAI,EAAE,IAAG,KAAI,KAAI,MAAK,CAAC,CAAC,GAAE,EAAE,cAAY,SAASA,IAAEE,IAAE;AAAC,iBAAO,EAAEF,IAAEE,IAAE,GAAE,IAAG,GAAE,CAAC;AAAA,QAAC,GAAE,EAAE,eAAa,GAAE,EAAE,eAAa,GAAE,EAAE,mBAAiB,GAAE,EAAE,mBAAiB,SAASF,IAAEE,IAAE;AAAC,iBAAOF,MAAGA,GAAE,QAAM,MAAIA,GAAE,MAAM,OAAK,KAAGA,GAAE,MAAM,SAAOE,IAAE,KAAG;AAAA,QAAC,GAAE,EAAE,UAAQ,SAASF,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,IAAEC;AAAE,cAAG,CAACP,MAAG,CAACA,GAAE,SAAO,IAAEE,MAAGA,KAAE,EAAE,QAAOF,KAAE,EAAEA,IAAE,CAAC,IAAE;AAAE,cAAGK,KAAEL,GAAE,OAAM,CAACA,GAAE,UAAQ,CAACA,GAAE,SAAO,MAAIA,GAAE,YAAU,QAAMK,GAAE,UAAQH,OAAI,EAAE,QAAO,EAAEF,IAAE,MAAIA,GAAE,YAAU,KAAG,CAAC;AAAE,cAAGK,GAAE,OAAKL,IAAEG,KAAEE,GAAE,YAAWA,GAAE,aAAWH,IAAEG,GAAE,WAAS,EAAE,KAAG,MAAIA,GAAE,KAAK,CAAAL,GAAE,QAAM,GAAE,EAAEK,IAAE,EAAE,GAAE,EAAEA,IAAE,GAAG,GAAE,EAAEA,IAAE,CAAC,GAAEA,GAAE,UAAQ,EAAEA,KAAGA,GAAE,OAAO,OAAK,IAAE,MAAIA,GAAE,OAAO,OAAK,IAAE,MAAIA,GAAE,OAAO,QAAM,IAAE,MAAIA,GAAE,OAAO,OAAK,IAAE,MAAIA,GAAE,OAAO,UAAQ,KAAG,EAAE,GAAE,EAAEA,IAAE,MAAIA,GAAE,OAAO,IAAI,GAAE,EAAEA,IAAEA,GAAE,OAAO,QAAM,IAAE,GAAG,GAAE,EAAEA,IAAEA,GAAE,OAAO,QAAM,KAAG,GAAG,GAAE,EAAEA,IAAEA,GAAE,OAAO,QAAM,KAAG,GAAG,GAAE,EAAEA,IAAE,MAAIA,GAAE,QAAM,IAAE,KAAGA,GAAE,YAAUA,GAAE,QAAM,IAAE,IAAE,CAAC,GAAE,EAAEA,IAAE,MAAIA,GAAE,OAAO,EAAE,GAAEA,GAAE,OAAO,SAAOA,GAAE,OAAO,MAAM,WAAS,EAAEA,IAAE,MAAIA,GAAE,OAAO,MAAM,MAAM,GAAE,EAAEA,IAAEA,GAAE,OAAO,MAAM,UAAQ,IAAE,GAAG,IAAGA,GAAE,OAAO,SAAOL,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,SAAQ,CAAC,IAAGA,GAAE,UAAQ,GAAEA,GAAE,SAAO,OAAK,EAAEA,IAAE,CAAC,GAAE,EAAEA,IAAE,CAAC,GAAE,EAAEA,IAAE,CAAC,GAAE,EAAEA,IAAE,CAAC,GAAE,EAAEA,IAAE,CAAC,GAAE,EAAEA,IAAE,MAAIA,GAAE,QAAM,IAAE,KAAGA,GAAE,YAAUA,GAAE,QAAM,IAAE,IAAE,CAAC,GAAE,EAAEA,IAAE,CAAC,GAAEA,GAAE,SAAO;AAAA,eAAO;AAAC,gBAAIG,KAAE,KAAGH,GAAE,SAAO,KAAG,MAAI;AAAE,YAAAG,OAAI,KAAGH,GAAE,YAAUA,GAAE,QAAM,IAAE,IAAEA,GAAE,QAAM,IAAE,IAAE,MAAIA,GAAE,QAAM,IAAE,MAAI,GAAE,MAAIA,GAAE,aAAWG,MAAG,KAAIA,MAAG,KAAGA,KAAE,IAAGH,GAAE,SAAO,GAAE,EAAEA,IAAEG,EAAC,GAAE,MAAIH,GAAE,aAAW,EAAEA,IAAEL,GAAE,UAAQ,EAAE,GAAE,EAAEK,IAAE,QAAML,GAAE,KAAK,IAAGA,GAAE,QAAM;AAAA,UAAC;AAAC,cAAG,OAAKK,GAAE,OAAO,KAAGA,GAAE,OAAO,OAAM;AAAC,iBAAIC,KAAED,GAAE,SAAQA,GAAE,WAAS,QAAMA,GAAE,OAAO,MAAM,YAAUA,GAAE,YAAUA,GAAE,qBAAmBA,GAAE,OAAO,QAAMA,GAAE,UAAQC,OAAIN,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,UAAQC,IAAEA,EAAC,IAAG,EAAEN,EAAC,GAAEM,KAAED,GAAE,SAAQA,GAAE,YAAUA,GAAE,qBAAoB,GAAEA,IAAE,MAAIA,GAAE,OAAO,MAAMA,GAAE,OAAO,CAAC,GAAEA,GAAE;AAAU,YAAAA,GAAE,OAAO,QAAMA,GAAE,UAAQC,OAAIN,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,UAAQC,IAAEA,EAAC,IAAGD,GAAE,YAAUA,GAAE,OAAO,MAAM,WAASA,GAAE,UAAQ,GAAEA,GAAE,SAAO;AAAA,UAAG,MAAM,CAAAA,GAAE,SAAO;AAAG,cAAG,OAAKA,GAAE,OAAO,KAAGA,GAAE,OAAO,MAAK;AAAC,YAAAC,KAAED,GAAE;AAAQ,eAAE;AAAC,kBAAGA,GAAE,YAAUA,GAAE,qBAAmBA,GAAE,OAAO,QAAMA,GAAE,UAAQC,OAAIN,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,UAAQC,IAAEA,EAAC,IAAG,EAAEN,EAAC,GAAEM,KAAED,GAAE,SAAQA,GAAE,YAAUA,GAAE,mBAAkB;AAAC,gBAAAE,KAAE;AAAE;AAAA,cAAK;AAAC,cAAAA,KAAEF,GAAE,UAAQA,GAAE,OAAO,KAAK,SAAO,MAAIA,GAAE,OAAO,KAAK,WAAWA,GAAE,SAAS,IAAE,GAAE,EAAEA,IAAEE,EAAC;AAAA,YAAC,SAAO,MAAIA;AAAG,YAAAF,GAAE,OAAO,QAAMA,GAAE,UAAQC,OAAIN,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,UAAQC,IAAEA,EAAC,IAAG,MAAIC,OAAIF,GAAE,UAAQ,GAAEA,GAAE,SAAO;AAAA,UAAG,MAAM,CAAAA,GAAE,SAAO;AAAG,cAAG,OAAKA,GAAE,OAAO,KAAGA,GAAE,OAAO,SAAQ;AAAC,YAAAC,KAAED,GAAE;AAAQ,eAAE;AAAC,kBAAGA,GAAE,YAAUA,GAAE,qBAAmBA,GAAE,OAAO,QAAMA,GAAE,UAAQC,OAAIN,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,UAAQC,IAAEA,EAAC,IAAG,EAAEN,EAAC,GAAEM,KAAED,GAAE,SAAQA,GAAE,YAAUA,GAAE,mBAAkB;AAAC,gBAAAE,KAAE;AAAE;AAAA,cAAK;AAAC,cAAAA,KAAEF,GAAE,UAAQA,GAAE,OAAO,QAAQ,SAAO,MAAIA,GAAE,OAAO,QAAQ,WAAWA,GAAE,SAAS,IAAE,GAAE,EAAEA,IAAEE,EAAC;AAAA,YAAC,SAAO,MAAIA;AAAG,YAAAF,GAAE,OAAO,QAAMA,GAAE,UAAQC,OAAIN,GAAE,QAAM,EAAEA,GAAE,OAAMK,GAAE,aAAYA,GAAE,UAAQC,IAAEA,EAAC,IAAG,MAAIC,OAAIF,GAAE,SAAO;AAAA,UAAI,MAAM,CAAAA,GAAE,SAAO;AAAI,cAAG,QAAMA,GAAE,WAASA,GAAE,OAAO,QAAMA,GAAE,UAAQ,IAAEA,GAAE,oBAAkB,EAAEL,EAAC,GAAEK,GAAE,UAAQ,KAAGA,GAAE,qBAAmB,EAAEA,IAAE,MAAIL,GAAE,KAAK,GAAE,EAAEK,IAAEL,GAAE,SAAO,IAAE,GAAG,GAAEA,GAAE,QAAM,GAAEK,GAAE,SAAO,MAAIA,GAAE,SAAO,IAAG,MAAIA,GAAE,SAAQ;AAAC,gBAAG,EAAEL,EAAC,GAAE,MAAIA,GAAE,UAAU,QAAOK,GAAE,aAAW,IAAG;AAAA,UAAC,WAAS,MAAIL,GAAE,YAAU,EAAEE,EAAC,KAAG,EAAEC,EAAC,KAAGD,OAAI,EAAE,QAAO,EAAEF,IAAE,EAAE;AAAE,cAAG,QAAMK,GAAE,UAAQ,MAAIL,GAAE,SAAS,QAAO,EAAEA,IAAE,EAAE;AAAE,cAAG,MAAIA,GAAE,YAAU,MAAIK,GAAE,aAAWH,OAAI,KAAG,QAAMG,GAAE,QAAO;AAAC,gBAAII,KAAE,MAAIJ,GAAE,YAAS,SAASL,IAAEE,IAAE;AAAC,uBAAQC,QAAI;AAAC,oBAAG,MAAIH,GAAE,cAAY,EAAEA,EAAC,GAAE,MAAIA,GAAE,YAAW;AAAC,sBAAGE,OAAI,EAAE,QAAO;AAAE;AAAA,gBAAK;AAAC,oBAAGF,GAAE,eAAa,GAAEG,KAAE,EAAE,UAAUH,IAAE,GAAEA,GAAE,OAAOA,GAAE,QAAQ,CAAC,GAAEA,GAAE,aAAYA,GAAE,YAAWG,OAAI,EAAEH,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,WAAW,QAAO;AAAA,cAAC;AAAC,qBAAOA,GAAE,SAAO,GAAEE,OAAI,KAAG,EAAEF,IAAE,IAAE,GAAE,MAAIA,GAAE,KAAK,YAAU,IAAE,KAAGA,GAAE,aAAW,EAAEA,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,aAAW,IAAE;AAAA,YAAC,GAAEK,IAAEH,EAAC,IAAE,MAAIG,GAAE,YAAS,SAASL,IAAEE,IAAE;AAAC,uBAAQC,IAAEE,IAAEC,IAAEC,IAAEC,KAAER,GAAE,YAAS;AAAC,oBAAGA,GAAE,aAAW,GAAE;AAAC,sBAAG,EAAEA,EAAC,GAAEA,GAAE,aAAW,KAAGE,OAAI,EAAE,QAAO;AAAE,sBAAG,MAAIF,GAAE,UAAU;AAAA,gBAAK;AAAC,oBAAGA,GAAE,eAAa,GAAEA,GAAE,aAAW,KAAG,IAAEA,GAAE,aAAWK,KAAEG,GAAEF,KAAEN,GAAE,WAAS,CAAC,OAAKQ,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,GAAE;AAAC,kBAAAC,KAAEP,GAAE,WAAS;AAAE,qBAAE;AAAA,2BAAQK,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGD,OAAIG,GAAE,EAAEF,EAAC,KAAGA,KAAEC;AAAG,kBAAAP,GAAE,eAAa,KAAGO,KAAED,KAAGN,GAAE,eAAaA,GAAE,cAAYA,GAAE,eAAaA,GAAE;AAAA,gBAAU;AAAC,oBAAGA,GAAE,gBAAc,KAAGG,KAAE,EAAE,UAAUH,IAAE,GAAEA,GAAE,eAAa,CAAC,GAAEA,GAAE,aAAWA,GAAE,cAAaA,GAAE,YAAUA,GAAE,cAAaA,GAAE,eAAa,MAAIG,KAAE,EAAE,UAAUH,IAAE,GAAEA,GAAE,OAAOA,GAAE,QAAQ,CAAC,GAAEA,GAAE,aAAYA,GAAE,aAAYG,OAAI,EAAEH,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,WAAW,QAAO;AAAA,cAAC;AAAC,qBAAOA,GAAE,SAAO,GAAEE,OAAI,KAAG,EAAEF,IAAE,IAAE,GAAE,MAAIA,GAAE,KAAK,YAAU,IAAE,KAAGA,GAAE,aAAW,EAAEA,IAAE,KAAE,GAAE,MAAIA,GAAE,KAAK,aAAW,IAAE;AAAA,YAAC,GAAEK,IAAEH,EAAC,IAAEH,GAAEM,GAAE,KAAK,EAAE,KAAKA,IAAEH,EAAC;AAAE,gBAAGO,OAAI,KAAGA,OAAI,MAAIJ,GAAE,SAAO,MAAKI,OAAI,KAAGA,OAAI,EAAE,QAAO,MAAIT,GAAE,cAAYK,GAAE,aAAW,KAAI;AAAE,gBAAGI,OAAI,MAAI,MAAIP,KAAE,EAAE,UAAUG,EAAC,IAAE,MAAIH,OAAI,EAAE,iBAAiBG,IAAE,GAAE,GAAE,KAAE,GAAE,MAAIH,OAAI,EAAEG,GAAE,IAAI,GAAE,MAAIA,GAAE,cAAYA,GAAE,WAAS,GAAEA,GAAE,cAAY,GAAEA,GAAE,SAAO,MAAK,EAAEL,EAAC,GAAE,MAAIA,GAAE,WAAW,QAAOK,GAAE,aAAW,IAAG;AAAA,UAAC;AAAC,iBAAOH,OAAI,IAAE,IAAEG,GAAE,QAAM,IAAE,KAAG,MAAIA,GAAE,QAAM,EAAEA,IAAE,MAAIL,GAAE,KAAK,GAAE,EAAEK,IAAEL,GAAE,SAAO,IAAE,GAAG,GAAE,EAAEK,IAAEL,GAAE,SAAO,KAAG,GAAG,GAAE,EAAEK,IAAEL,GAAE,SAAO,KAAG,GAAG,GAAE,EAAEK,IAAE,MAAIL,GAAE,QAAQ,GAAE,EAAEK,IAAEL,GAAE,YAAU,IAAE,GAAG,GAAE,EAAEK,IAAEL,GAAE,YAAU,KAAG,GAAG,GAAE,EAAEK,IAAEL,GAAE,YAAU,KAAG,GAAG,MAAI,EAAEK,IAAEL,GAAE,UAAQ,EAAE,GAAE,EAAEK,IAAE,QAAML,GAAE,KAAK,IAAG,EAAEA,EAAC,GAAE,IAAEK,GAAE,SAAOA,GAAE,OAAK,CAACA,GAAE,OAAM,MAAIA,GAAE,UAAQ,IAAE;AAAA,QAAE,GAAE,EAAE,aAAW,SAASL,IAAE;AAAC,cAAIE;AAAE,iBAAOF,MAAGA,GAAE,SAAOE,KAAEF,GAAE,MAAM,YAAU,KAAG,OAAKE,MAAG,OAAKA,MAAG,OAAKA,MAAG,QAAMA,MAAGA,OAAI,KAAG,QAAMA,KAAE,EAAEF,IAAE,CAAC,KAAGA,GAAE,QAAM,MAAKE,OAAI,IAAE,EAAEF,IAAE,EAAE,IAAE,KAAG;AAAA,QAAC,GAAE,EAAE,uBAAqB,SAASA,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEV,IAAEY,IAAEC,KAAEV,GAAE;AAAO,cAAG,CAACF,MAAG,CAACA,GAAE,MAAM,QAAO;AAAE,cAAG,OAAKO,MAAGJ,KAAEH,GAAE,OAAO,SAAO,MAAIO,MAAGJ,GAAE,WAAS,KAAGA,GAAE,UAAU,QAAO;AAAE,eAAI,MAAII,OAAIP,GAAE,QAAM,EAAEA,GAAE,OAAME,IAAEU,IAAE,CAAC,IAAGT,GAAE,OAAK,GAAES,MAAGT,GAAE,WAAS,MAAII,OAAI,EAAEJ,GAAE,IAAI,GAAEA,GAAE,WAAS,GAAEA,GAAE,cAAY,GAAEA,GAAE,SAAO,IAAGQ,KAAE,IAAI,EAAE,KAAKR,GAAE,MAAM,GAAE,EAAE,SAASQ,IAAET,IAAEU,KAAET,GAAE,QAAOA,GAAE,QAAO,CAAC,GAAED,KAAES,IAAEC,KAAET,GAAE,SAAQK,KAAER,GAAE,UAASS,KAAET,GAAE,SAAQD,KAAEC,GAAE,OAAMA,GAAE,WAASY,IAAEZ,GAAE,UAAQ,GAAEA,GAAE,QAAME,IAAE,EAAEC,EAAC,GAAEA,GAAE,aAAW,KAAG;AAAC,iBAAIE,KAAEF,GAAE,UAASG,KAAEH,GAAE,aAAW,IAAE,IAAGA,GAAE,SAAOA,GAAE,SAAOA,GAAE,aAAWA,GAAE,OAAOE,KAAE,IAAE,CAAC,KAAGF,GAAE,WAAUA,GAAE,KAAKE,KAAEF,GAAE,MAAM,IAAEA,GAAE,KAAKA,GAAE,KAAK,GAAEA,GAAE,KAAKA,GAAE,KAAK,IAAEE,IAAEA,MAAI,EAAEC,KAAG;AAAC,YAAAH,GAAE,WAASE,IAAEF,GAAE,YAAU,IAAE,GAAE,EAAEA,EAAC;AAAA,UAAC;AAAC,iBAAOA,GAAE,YAAUA,GAAE,WAAUA,GAAE,cAAYA,GAAE,UAASA,GAAE,SAAOA,GAAE,WAAUA,GAAE,YAAU,GAAEA,GAAE,eAAaA,GAAE,cAAY,IAAE,GAAEA,GAAE,kBAAgB,GAAEH,GAAE,UAAQS,IAAET,GAAE,QAAMD,IAAEC,GAAE,WAASQ,IAAEL,GAAE,OAAKI,IAAE;AAAA,QAAC,GAAE,EAAE,cAAY;AAAA,MAAoC,GAAE,EAAC,mBAAkB,IAAG,aAAY,IAAG,WAAU,IAAG,cAAa,IAAG,WAAU,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,WAAU;AAAC,eAAK,OAAK,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO,GAAE,KAAK,KAAG,GAAE,KAAK,QAAM,MAAK,KAAK,YAAU,GAAE,KAAK,OAAK,IAAG,KAAK,UAAQ,IAAG,KAAK,OAAK,GAAE,KAAK,OAAK;AAAA,QAAE;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,SAASP,IAAEE,IAAE;AAAC,cAAIC,IAAE,GAAE,GAAE,GAAE,GAAE,GAAEJ,IAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAE,UAAAI,KAAEH,GAAE,OAAM,IAAEA,GAAE,SAAQ,IAAEA,GAAE,OAAM,IAAE,KAAGA,GAAE,WAAS,IAAG,IAAEA,GAAE,UAAS,IAAEA,GAAE,QAAO,IAAE,KAAGE,KAAEF,GAAE,YAAW,IAAE,KAAGA,GAAE,YAAU,MAAKD,KAAEI,GAAE,MAAK,IAAEA,GAAE,OAAM,IAAEA,GAAE,OAAM,IAAEA,GAAE,OAAM,IAAEA,GAAE,QAAO,IAAEA,GAAE,MAAK,IAAEA,GAAE,MAAK,IAAEA,GAAE,SAAQ,IAAEA,GAAE,UAAS,KAAG,KAAGA,GAAE,WAAS,GAAE,KAAG,KAAGA,GAAE,YAAU;AAAE,YAAE,IAAE;AAAC,gBAAE,OAAK,KAAG,EAAE,GAAG,KAAG,GAAE,KAAG,GAAE,KAAG,EAAE,GAAG,KAAG,GAAE,KAAG,IAAG,IAAE,EAAE,IAAE,CAAC;AAAE,cAAE,YAAO;AAAC,kBAAG,OAAK,IAAE,MAAI,IAAG,KAAG,GAAE,OAAK,IAAE,MAAI,KAAG,KAAK,GAAE,GAAG,IAAE,QAAM;AAAA,mBAAM;AAAC,oBAAG,EAAE,KAAG,IAAG;AAAC,sBAAG,MAAI,KAAG,IAAG;AAAC,wBAAE,GAAG,QAAM,MAAI,KAAG,KAAG,KAAG,EAAE;AAAE,6BAAS;AAAA,kBAAC;AAAC,sBAAG,KAAG,GAAE;AAAC,oBAAAA,GAAE,OAAK;AAAG,0BAAM;AAAA,kBAAC;AAAC,kBAAAH,GAAE,MAAI,+BAA8BG,GAAE,OAAK;AAAG,wBAAM;AAAA,gBAAC;AAAC,oBAAE,QAAM,IAAG,KAAG,QAAM,IAAE,MAAI,KAAG,EAAE,GAAG,KAAG,GAAE,KAAG,IAAG,KAAG,KAAG,KAAG,KAAG,GAAE,OAAK,GAAE,KAAG,IAAG,IAAE,OAAK,KAAG,EAAE,GAAG,KAAG,GAAE,KAAG,GAAE,KAAG,EAAE,GAAG,KAAG,GAAE,KAAG,IAAG,IAAE,EAAE,IAAE,CAAC;AAAE,kBAAE,YAAO;AAAC,sBAAG,OAAK,IAAE,MAAI,IAAG,KAAG,GAAE,EAAE,MAAI,IAAE,MAAI,KAAG,OAAM;AAAC,wBAAG,MAAI,KAAG,IAAG;AAAC,0BAAE,GAAG,QAAM,MAAI,KAAG,KAAG,KAAG,EAAE;AAAE,+BAAS;AAAA,oBAAC;AAAC,oBAAAH,GAAE,MAAI,yBAAwBG,GAAE,OAAK;AAAG,0BAAM;AAAA,kBAAC;AAAC,sBAAG,IAAE,QAAM,GAAE,KAAG,KAAG,QAAM,KAAG,EAAE,GAAG,KAAG,IAAG,KAAG,KAAG,MAAI,KAAG,EAAE,GAAG,KAAG,GAAE,KAAG,KAAIJ,MAAG,KAAG,KAAG,KAAG,KAAG,IAAG;AAAC,oBAAAC,GAAE,MAAI,iCAAgCG,GAAE,OAAK;AAAG,0BAAM;AAAA,kBAAC;AAAC,sBAAG,OAAK,GAAE,KAAG,IAAG,IAAE,IAAE,KAAG,GAAE;AAAC,wBAAG,KAAG,IAAE,IAAE,MAAIA,GAAE,MAAK;AAAC,sBAAAH,GAAE,MAAI,iCAAgCG,GAAE,OAAK;AAAG,4BAAM;AAAA,oBAAC;AAAC,wBAAG,IAAE,IAAG,IAAE,OAAK,GAAE;AAAC,0BAAG,KAAG,IAAE,GAAE,IAAE,GAAE;AAAC,6BAAI,KAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,IAAG;AAAC,4BAAE,IAAE,GAAE,IAAE;AAAA,sBAAC;AAAA,oBAAC,WAAS,IAAE,GAAE;AAAC,0BAAG,KAAG,IAAE,IAAE,IAAG,KAAG,KAAG,GAAE;AAAC,6BAAI,KAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,IAAG;AAAC,4BAAG,IAAE,GAAE,IAAE,GAAE;AAAC,+BAAI,KAAG,IAAE,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,IAAG;AAAC,8BAAE,IAAE,GAAE,IAAE;AAAA,wBAAC;AAAA,sBAAC;AAAA,oBAAC,WAAS,KAAG,IAAE,GAAE,IAAE,GAAE;AAAC,2BAAI,KAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,IAAG;AAAC,0BAAE,IAAE,GAAE,IAAE;AAAA,oBAAC;AAAC,2BAAK,IAAE,IAAG,GAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,KAAG;AAAE,0BAAI,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,IAAE,MAAI,EAAE,GAAG,IAAE,EAAE,GAAG;AAAA,kBAAG,OAAK;AAAC,yBAAI,IAAE,IAAE,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,KAAG,KAAG,KAAI;AAAC,0BAAI,EAAE,GAAG,IAAE,EAAE,GAAG,GAAE,IAAE,MAAI,EAAE,GAAG,IAAE,EAAE,GAAG;AAAA,kBAAG;AAAC;AAAA,gBAAK;AAAA,cAAC;AAAC;AAAA,YAAK;AAAA,UAAC,SAAO,IAAE,KAAG,IAAE;AAAG,eAAG,IAAE,KAAG,GAAE,MAAI,MAAI,KAAG,KAAG,MAAI,GAAEH,GAAE,UAAQ,GAAEA,GAAE,WAAS,GAAEA,GAAE,WAAS,IAAE,IAAE,IAAE,IAAE,IAAE,KAAG,IAAE,IAAGA,GAAE,YAAU,IAAE,IAAE,IAAE,IAAE,MAAI,OAAK,IAAE,IAAGG,GAAE,OAAK,GAAEA,GAAE,OAAK;AAAA,QAAC;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,GAAE,IAAE,EAAE,WAAW,GAAE,IAAE,EAAE,SAAS,GAAE,IAAE,EAAE,WAAW,GAAE,IAAE,EAAE,YAAY,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,GAAE,IAAE,KAAI,IAAE;AAAI,iBAAS,EAAEH,IAAE;AAAC,kBAAOA,OAAI,KAAG,QAAMA,OAAI,IAAE,WAAS,QAAMA,OAAI,OAAK,MAAIA,OAAI;AAAA,QAAG;AAAC,iBAAS,IAAG;AAAC,eAAK,OAAK,GAAE,KAAK,OAAK,OAAG,KAAK,OAAK,GAAE,KAAK,WAAS,OAAG,KAAK,QAAM,GAAE,KAAK,OAAK,GAAE,KAAK,QAAM,GAAE,KAAK,QAAM,GAAE,KAAK,OAAK,MAAK,KAAK,QAAM,GAAE,KAAK,QAAM,GAAE,KAAK,QAAM,GAAE,KAAK,QAAM,GAAE,KAAK,SAAO,MAAK,KAAK,OAAK,GAAE,KAAK,OAAK,GAAE,KAAK,SAAO,GAAE,KAAK,SAAO,GAAE,KAAK,QAAM,GAAE,KAAK,UAAQ,MAAK,KAAK,WAAS,MAAK,KAAK,UAAQ,GAAE,KAAK,WAAS,GAAE,KAAK,QAAM,GAAE,KAAK,OAAK,GAAE,KAAK,QAAM,GAAE,KAAK,OAAK,GAAE,KAAK,OAAK,MAAK,KAAK,OAAK,IAAI,EAAE,MAAM,GAAG,GAAE,KAAK,OAAK,IAAI,EAAE,MAAM,GAAG,GAAE,KAAK,SAAO,MAAK,KAAK,UAAQ,MAAK,KAAK,OAAK,GAAE,KAAK,OAAK,GAAE,KAAK,MAAI;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAE;AAAC,cAAIE;AAAE,iBAAOF,MAAGA,GAAE,SAAOE,KAAEF,GAAE,OAAMA,GAAE,WAASA,GAAE,YAAUE,GAAE,QAAM,GAAEF,GAAE,MAAI,IAAGE,GAAE,SAAOF,GAAE,QAAM,IAAEE,GAAE,OAAMA,GAAE,OAAK,GAAEA,GAAE,OAAK,GAAEA,GAAE,WAAS,GAAEA,GAAE,OAAK,OAAMA,GAAE,OAAK,MAAKA,GAAE,OAAK,GAAEA,GAAE,OAAK,GAAEA,GAAE,UAAQA,GAAE,SAAO,IAAI,EAAE,MAAM,CAAC,GAAEA,GAAE,WAASA,GAAE,UAAQ,IAAI,EAAE,MAAM,CAAC,GAAEA,GAAE,OAAK,GAAEA,GAAE,OAAK,IAAG,KAAG;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAE;AAAC,cAAIE;AAAE,iBAAOF,MAAGA,GAAE,UAAQE,KAAEF,GAAE,OAAO,QAAM,GAAEE,GAAE,QAAM,GAAEA,GAAE,QAAM,GAAE,EAAEF,EAAC,KAAG;AAAA,QAAC;AAAC,iBAASD,GAAEC,IAAEE,IAAE;AAAC,cAAIC,IAAEE;AAAE,iBAAOL,MAAGA,GAAE,SAAOK,KAAEL,GAAE,OAAME,KAAE,KAAGC,KAAE,GAAED,KAAE,CAACA,OAAIC,KAAE,KAAGD,MAAG,IAAGA,KAAE,OAAKA,MAAG,MAAKA,OAAIA,KAAE,KAAG,KAAGA,MAAG,KAAG,SAAOG,GAAE,UAAQA,GAAE,UAAQH,OAAIG,GAAE,SAAO,OAAMA,GAAE,OAAKF,IAAEE,GAAE,QAAMH,IAAE,EAAEF,EAAC,MAAI;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,cAAIC,IAAEE;AAAE,iBAAOL,MAAGK,KAAE,IAAI,MAAGL,GAAE,QAAMK,IAAG,SAAO,OAAMF,KAAEJ,GAAEC,IAAEE,EAAC,OAAK,MAAIF,GAAE,QAAM,OAAMG,MAAG;AAAA,QAAC;AAAC,YAAI,GAAE,GAAE,IAAE;AAAG,iBAAS,EAAEH,IAAE;AAAC,cAAG,GAAE;AAAC,gBAAIE;AAAE,iBAAI,IAAE,IAAI,EAAE,MAAM,GAAG,GAAE,IAAE,IAAI,EAAE,MAAM,EAAE,GAAEA,KAAE,GAAEA,KAAE,MAAK,CAAAF,GAAE,KAAKE,IAAG,IAAE;AAAE,mBAAKA,KAAE,MAAK,CAAAF,GAAE,KAAKE,IAAG,IAAE;AAAE,mBAAKA,KAAE,MAAK,CAAAF,GAAE,KAAKE,IAAG,IAAE;AAAE,mBAAKA,KAAE,MAAK,CAAAF,GAAE,KAAKE,IAAG,IAAE;AAAE,iBAAI,EAAE,GAAEF,GAAE,MAAK,GAAE,KAAI,GAAE,GAAEA,GAAE,MAAK,EAAC,MAAK,EAAC,CAAC,GAAEE,KAAE,GAAEA,KAAE,KAAI,CAAAF,GAAE,KAAKE,IAAG,IAAE;AAAE,cAAE,GAAEF,GAAE,MAAK,GAAE,IAAG,GAAE,GAAEA,GAAE,MAAK,EAAC,MAAK,EAAC,CAAC,GAAE,IAAE;AAAA,UAAE;AAAC,UAAAA,GAAE,UAAQ,GAAEA,GAAE,UAAQ,GAAEA,GAAE,WAAS,GAAEA,GAAE,WAAS;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAEC,IAAEE,IAAE;AAAC,cAAIC,IAAEC,KAAEP,GAAE;AAAM,iBAAO,SAAOO,GAAE,WAASA,GAAE,QAAM,KAAGA,GAAE,OAAMA,GAAE,QAAM,GAAEA,GAAE,QAAM,GAAEA,GAAE,SAAO,IAAI,EAAE,KAAKA,GAAE,KAAK,IAAGF,MAAGE,GAAE,SAAO,EAAE,SAASA,GAAE,QAAOL,IAAEC,KAAEI,GAAE,OAAMA,GAAE,OAAM,CAAC,GAAEA,GAAE,QAAM,GAAEA,GAAE,QAAMA,GAAE,UAAQF,MAAGC,KAAEC,GAAE,QAAMA,GAAE,WAASD,KAAED,KAAG,EAAE,SAASE,GAAE,QAAOL,IAAEC,KAAEE,IAAEC,IAAEC,GAAE,KAAK,IAAGF,MAAGC,OAAI,EAAE,SAASC,GAAE,QAAOL,IAAEC,KAAEE,IAAEA,IAAE,CAAC,GAAEE,GAAE,QAAMF,IAAEE,GAAE,QAAMA,GAAE,UAAQA,GAAE,SAAOD,IAAEC,GAAE,UAAQA,GAAE,UAAQA,GAAE,QAAM,IAAGA,GAAE,QAAMA,GAAE,UAAQA,GAAE,SAAOD,OAAK;AAAA,QAAC;AAAC,UAAE,eAAa,GAAE,EAAE,gBAAcP,IAAE,EAAE,mBAAiB,GAAE,EAAE,cAAY,SAASC,IAAE;AAAC,iBAAO,EAAEA,IAAE,EAAE;AAAA,QAAC,GAAE,EAAE,eAAa,GAAE,EAAE,UAAQ,SAASA,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEV,IAAEY,IAAEC,IAAEC,IAAET,IAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAE,GAAE,IAAE,IAAI,EAAE,KAAK,CAAC,GAAE,IAAE,CAAC,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE;AAAE,cAAG,CAACJ,MAAG,CAACA,GAAE,SAAO,CAACA,GAAE,UAAQ,CAACA,GAAE,SAAO,MAAIA,GAAE,SAAS,QAAO;AAAE,kBAAMG,KAAEH,GAAE,OAAO,SAAOG,GAAE,OAAK,KAAIK,KAAER,GAAE,UAASM,KAAEN,GAAE,QAAOD,KAAEC,GAAE,WAAUO,KAAEP,GAAE,SAAQK,KAAEL,GAAE,OAAMS,KAAET,GAAE,UAASW,KAAER,GAAE,MAAKS,KAAET,GAAE,MAAKU,KAAEJ,IAAEL,KAAEL,IAAE,IAAE;AAAE,YAAE,WAAO,SAAOI,GAAE,MAAI;AAAA,YAAE,KAAK;AAAE,kBAAG,MAAIA,GAAE,MAAK;AAAC,gBAAAA,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,qBAAKS,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,kBAAG,IAAET,GAAE,QAAM,UAAQQ,IAAE;AAAC,kBAAER,GAAE,QAAM,CAAC,IAAE,MAAIQ,IAAE,EAAE,CAAC,IAAEA,OAAI,IAAE,KAAIR,GAAE,QAAM,EAAEA,GAAE,OAAM,GAAE,GAAE,CAAC,GAAES,KAAED,KAAE,GAAER,GAAE,OAAK;AAAE;AAAA,cAAK;AAAC,kBAAGA,GAAE,QAAM,GAAEA,GAAE,SAAOA,GAAE,KAAK,OAAK,QAAI,EAAE,IAAEA,GAAE,YAAU,MAAIQ,OAAI,MAAIA,MAAG,MAAI,IAAG;AAAC,gBAAAX,GAAE,MAAI,0BAAyBG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAG,MAAI,KAAGQ,KAAG;AAAC,gBAAAX,GAAE,MAAI,8BAA6BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAGS,MAAG,GAAE,IAAE,KAAG,MAAID,QAAK,KAAI,MAAIR,GAAE,MAAM,CAAAA,GAAE,QAAM;AAAA,uBAAU,IAAEA,GAAE,OAAM;AAAC,gBAAAH,GAAE,MAAI,uBAAsBG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,OAAK,KAAG,GAAEH,GAAE,QAAMG,GAAE,QAAM,GAAEA,GAAE,OAAK,MAAIQ,KAAE,KAAG,IAAGC,KAAED,KAAE;AAAE;AAAA,YAAM,KAAK;AAAE,qBAAKC,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,kBAAGT,GAAE,QAAMQ,IAAE,MAAI,MAAIR,GAAE,QAAO;AAAC,gBAAAH,GAAE,MAAI,8BAA6BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAG,QAAMA,GAAE,OAAM;AAAC,gBAAAH,GAAE,MAAI,4BAA2BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,SAAOA,GAAE,KAAK,OAAKQ,MAAG,IAAE,IAAG,MAAIR,GAAE,UAAQ,EAAE,CAAC,IAAE,MAAIQ,IAAE,EAAE,CAAC,IAAEA,OAAI,IAAE,KAAIR,GAAE,QAAM,EAAEA,GAAE,OAAM,GAAE,GAAE,CAAC,IAAGS,KAAED,KAAE,GAAER,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,qBAAKS,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,cAAAT,GAAE,SAAOA,GAAE,KAAK,OAAKQ,KAAG,MAAIR,GAAE,UAAQ,EAAE,CAAC,IAAE,MAAIQ,IAAE,EAAE,CAAC,IAAEA,OAAI,IAAE,KAAI,EAAE,CAAC,IAAEA,OAAI,KAAG,KAAI,EAAE,CAAC,IAAEA,OAAI,KAAG,KAAIR,GAAE,QAAM,EAAEA,GAAE,OAAM,GAAE,GAAE,CAAC,IAAGS,KAAED,KAAE,GAAER,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,qBAAKS,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,cAAAT,GAAE,SAAOA,GAAE,KAAK,SAAO,MAAIQ,IAAER,GAAE,KAAK,KAAGQ,MAAG,IAAG,MAAIR,GAAE,UAAQ,EAAE,CAAC,IAAE,MAAIQ,IAAE,EAAE,CAAC,IAAEA,OAAI,IAAE,KAAIR,GAAE,QAAM,EAAEA,GAAE,OAAM,GAAE,GAAE,CAAC,IAAGS,KAAED,KAAE,GAAER,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,kBAAG,OAAKA,GAAE,OAAM;AAAC,uBAAKS,KAAE,MAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,gBAAAT,GAAE,SAAOQ,IAAER,GAAE,SAAOA,GAAE,KAAK,YAAUQ,KAAG,MAAIR,GAAE,UAAQ,EAAE,CAAC,IAAE,MAAIQ,IAAE,EAAE,CAAC,IAAEA,OAAI,IAAE,KAAIR,GAAE,QAAM,EAAEA,GAAE,OAAM,GAAE,GAAE,CAAC,IAAGS,KAAED,KAAE;AAAA,cAAC,MAAM,CAAAR,GAAE,SAAOA,GAAE,KAAK,QAAM;AAAM,cAAAA,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,kBAAG,OAAKA,GAAE,UAAQM,MAAG,IAAEN,GAAE,YAAU,IAAEM,KAAG,MAAIN,GAAE,SAAO,IAAEA,GAAE,KAAK,YAAUA,GAAE,QAAOA,GAAE,KAAK,UAAQA,GAAE,KAAK,QAAM,IAAI,MAAMA,GAAE,KAAK,SAAS,IAAG,EAAE,SAASA,GAAE,KAAK,OAAME,IAAEE,IAAE,GAAE,CAAC,IAAG,MAAIJ,GAAE,UAAQA,GAAE,QAAM,EAAEA,GAAE,OAAME,IAAE,GAAEE,EAAC,IAAGE,MAAG,GAAEF,MAAG,GAAEJ,GAAE,UAAQ,IAAGA,GAAE,QAAQ,OAAM;AAAE,cAAAA,GAAE,SAAO,GAAEA,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,kBAAG,OAAKA,GAAE,OAAM;AAAC,oBAAG,MAAIM,GAAE,OAAM;AAAE,qBAAI,IAAE,GAAE,IAAEJ,GAAEE,KAAE,GAAG,GAAEJ,GAAE,QAAM,KAAGA,GAAE,SAAO,UAAQA,GAAE,KAAK,QAAM,OAAO,aAAa,CAAC,IAAG,KAAG,IAAEM,KAAG;AAAC,oBAAG,MAAIN,GAAE,UAAQA,GAAE,QAAM,EAAEA,GAAE,OAAME,IAAE,GAAEE,EAAC,IAAGE,MAAG,GAAEF,MAAG,GAAE,EAAE,OAAM;AAAA,cAAC,MAAM,CAAAJ,GAAE,SAAOA,GAAE,KAAK,OAAK;AAAM,cAAAA,GAAE,SAAO,GAAEA,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,kBAAG,OAAKA,GAAE,OAAM;AAAC,oBAAG,MAAIM,GAAE,OAAM;AAAE,qBAAI,IAAE,GAAE,IAAEJ,GAAEE,KAAE,GAAG,GAAEJ,GAAE,QAAM,KAAGA,GAAE,SAAO,UAAQA,GAAE,KAAK,WAAS,OAAO,aAAa,CAAC,IAAG,KAAG,IAAEM,KAAG;AAAC,oBAAG,MAAIN,GAAE,UAAQA,GAAE,QAAM,EAAEA,GAAE,OAAME,IAAE,GAAEE,EAAC,IAAGE,MAAG,GAAEF,MAAG,GAAE,EAAE,OAAM;AAAA,cAAC,MAAM,CAAAJ,GAAE,SAAOA,GAAE,KAAK,UAAQ;AAAM,cAAAA,GAAE,OAAK;AAAA,YAAE,KAAK;AAAE,kBAAG,MAAIA,GAAE,OAAM;AAAC,uBAAKS,KAAE,MAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,oBAAGD,QAAK,QAAMR,GAAE,QAAO;AAAC,kBAAAH,GAAE,MAAI,uBAAsBG,GAAE,OAAK;AAAG;AAAA,gBAAK;AAAC,gBAAAS,KAAED,KAAE;AAAA,cAAC;AAAC,cAAAR,GAAE,SAAOA,GAAE,KAAK,OAAKA,GAAE,SAAO,IAAE,GAAEA,GAAE,KAAK,OAAK,OAAIH,GAAE,QAAMG,GAAE,QAAM,GAAEA,GAAE,OAAK;AAAG;AAAA,YAAM,KAAK;AAAG,qBAAKS,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,cAAAZ,GAAE,QAAMG,GAAE,QAAM,EAAEQ,EAAC,GAAEC,KAAED,KAAE,GAAER,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAG,MAAIA,GAAE,SAAS,QAAOH,GAAE,WAASQ,IAAER,GAAE,YAAUD,IAAEC,GAAE,UAAQO,IAAEP,GAAE,WAASS,IAAEN,GAAE,OAAKQ,IAAER,GAAE,OAAKS,IAAE;AAAE,cAAAZ,GAAE,QAAMG,GAAE,QAAM,GAAEA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAG,MAAID,MAAG,MAAIA,GAAE,OAAM;AAAA,YAAE,KAAK;AAAG,kBAAGC,GAAE,MAAK;AAAC,gBAAAQ,QAAK,IAAEC,IAAEA,MAAG,IAAEA,IAAET,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,qBAAKS,KAAE,KAAG;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,sBAAOT,GAAE,OAAK,IAAEQ,IAAEC,MAAG,GAAE,KAAGD,QAAK,IAAE;AAAA,gBAAE,KAAK;AAAE,kBAAAR,GAAE,OAAK;AAAG;AAAA,gBAAM,KAAK;AAAE,sBAAG,EAAEA,EAAC,GAAEA,GAAE,OAAK,IAAG,MAAID,GAAE;AAAM,kBAAAS,QAAK,GAAEC,MAAG;AAAE,wBAAM;AAAA,gBAAE,KAAK;AAAE,kBAAAT,GAAE,OAAK;AAAG;AAAA,gBAAM,KAAK;AAAE,kBAAAH,GAAE,MAAI,sBAAqBG,GAAE,OAAK;AAAA,cAAE;AAAC,cAAAQ,QAAK,GAAEC,MAAG;AAAE;AAAA,YAAM,KAAK;AAAG,mBAAID,QAAK,IAAEC,IAAEA,MAAG,IAAEA,IAAEA,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,mBAAI,QAAMD,QAAKA,OAAI,KAAG,QAAO;AAAC,gBAAAX,GAAE,MAAI,gCAA+BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAGA,GAAE,SAAO,QAAMQ,IAAEC,KAAED,KAAE,GAAER,GAAE,OAAK,IAAG,MAAID,GAAE,OAAM;AAAA,YAAE,KAAK;AAAG,cAAAC,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAG,IAAEA,GAAE,QAAO;AAAC,oBAAGM,KAAE,MAAI,IAAEA,KAAGV,KAAE,MAAI,IAAEA,KAAG,MAAI,EAAE,OAAM;AAAE,kBAAE,SAASO,IAAED,IAAEE,IAAE,GAAEC,EAAC,GAAEC,MAAG,GAAEF,MAAG,GAAER,MAAG,GAAES,MAAG,GAAEL,GAAE,UAAQ;AAAE;AAAA,cAAK;AAAC,cAAAA,GAAE,OAAK;AAAG;AAAA,YAAM,KAAK;AAAG,qBAAKS,KAAE,MAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,kBAAGT,GAAE,OAAK,OAAK,KAAGQ,KAAGA,QAAK,GAAEC,MAAG,GAAET,GAAE,QAAM,KAAG,KAAGQ,KAAGA,QAAK,GAAEC,MAAG,GAAET,GAAE,QAAM,KAAG,KAAGQ,KAAGA,QAAK,GAAEC,MAAG,GAAE,MAAIT,GAAE,QAAM,KAAGA,GAAE,OAAM;AAAC,gBAAAH,GAAE,MAAI,uCAAsCG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,OAAK,GAAEA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,qBAAKA,GAAE,OAAKA,GAAE,SAAO;AAAC,uBAAKS,KAAE,KAAG;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,gBAAAT,GAAE,KAAK,EAAEA,GAAE,MAAM,CAAC,IAAE,IAAEQ,IAAEA,QAAK,GAAEC,MAAG;AAAA,cAAC;AAAC,qBAAKT,GAAE,OAAK,KAAI,CAAAA,GAAE,KAAK,EAAEA,GAAE,MAAM,CAAC,IAAE;AAAE,kBAAGA,GAAE,UAAQA,GAAE,QAAOA,GAAE,UAAQ,GAAE,IAAE,EAAC,MAAKA,GAAE,QAAO,GAAE,IAAE,EAAE,GAAEA,GAAE,MAAK,GAAE,IAAGA,GAAE,SAAQ,GAAEA,GAAE,MAAK,CAAC,GAAEA,GAAE,UAAQ,EAAE,MAAK,GAAE;AAAC,gBAAAH,GAAE,MAAI,4BAA2BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,OAAK,GAAEA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,qBAAKA,GAAE,OAAKA,GAAE,OAAKA,GAAE,SAAO;AAAC,uBAAK,KAAG,IAAEA,GAAE,QAAQQ,MAAG,KAAGR,GAAE,WAAS,CAAC,OAAK,KAAG,KAAI,IAAE,QAAM,GAAE,GAAG,IAAE,MAAI,OAAKS,OAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,oBAAG,IAAE,GAAG,CAAAD,QAAK,GAAEC,MAAG,GAAET,GAAE,KAAKA,GAAE,MAAM,IAAE;AAAA,qBAAM;AAAC,sBAAG,OAAK,GAAE;AAAC,yBAAI,IAAE,IAAE,GAAES,KAAE,KAAG;AAAC,0BAAG,MAAIH,GAAE,OAAM;AAAE,sBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,oBAAC;AAAC,wBAAGD,QAAK,GAAEC,MAAG,GAAE,MAAIT,GAAE,MAAK;AAAC,sBAAAH,GAAE,MAAI,6BAA4BG,GAAE,OAAK;AAAG;AAAA,oBAAK;AAAC,wBAAEA,GAAE,KAAKA,GAAE,OAAK,CAAC,GAAE,IAAE,KAAG,IAAEQ,KAAGA,QAAK,GAAEC,MAAG;AAAA,kBAAC,WAAS,OAAK,GAAE;AAAC,yBAAI,IAAE,IAAE,GAAEA,KAAE,KAAG;AAAC,0BAAG,MAAIH,GAAE,OAAM;AAAE,sBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,oBAAC;AAAC,oBAAAA,MAAG,GAAE,IAAE,GAAE,IAAE,KAAG,KAAGD,QAAK,KAAIA,QAAK,GAAEC,MAAG;AAAA,kBAAC,OAAK;AAAC,yBAAI,IAAE,IAAE,GAAEA,KAAE,KAAG;AAAC,0BAAG,MAAIH,GAAE,OAAM;AAAE,sBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,oBAAC;AAAC,oBAAAA,MAAG,GAAE,IAAE,GAAE,IAAE,MAAI,OAAKD,QAAK,KAAIA,QAAK,GAAEC,MAAG;AAAA,kBAAC;AAAC,sBAAGT,GAAE,OAAK,IAAEA,GAAE,OAAKA,GAAE,OAAM;AAAC,oBAAAH,GAAE,MAAI,6BAA4BG,GAAE,OAAK;AAAG;AAAA,kBAAK;AAAC,yBAAK,MAAK,CAAAA,GAAE,KAAKA,GAAE,MAAM,IAAE;AAAA,gBAAC;AAAA,cAAC;AAAC,kBAAG,OAAKA,GAAE,KAAK;AAAM,kBAAG,MAAIA,GAAE,KAAK,GAAG,GAAE;AAAC,gBAAAH,GAAE,MAAI,wCAAuCG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAGA,GAAE,UAAQ,GAAE,IAAE,EAAC,MAAKA,GAAE,QAAO,GAAE,IAAE,EAAE,GAAEA,GAAE,MAAK,GAAEA,GAAE,MAAKA,GAAE,SAAQ,GAAEA,GAAE,MAAK,CAAC,GAAEA,GAAE,UAAQ,EAAE,MAAK,GAAE;AAAC,gBAAAH,GAAE,MAAI,+BAA8BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAGA,GAAE,WAAS,GAAEA,GAAE,WAASA,GAAE,SAAQ,IAAE,EAAC,MAAKA,GAAE,SAAQ,GAAE,IAAE,EAAE,GAAEA,GAAE,MAAKA,GAAE,MAAKA,GAAE,OAAMA,GAAE,UAAS,GAAEA,GAAE,MAAK,CAAC,GAAEA,GAAE,WAAS,EAAE,MAAK,GAAE;AAAC,gBAAAH,GAAE,MAAI,yBAAwBG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAGA,GAAE,OAAK,IAAG,MAAID,GAAE,OAAM;AAAA,YAAE,KAAK;AAAG,cAAAC,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAG,KAAGM,MAAG,OAAKV,IAAE;AAAC,gBAAAC,GAAE,WAASQ,IAAER,GAAE,YAAUD,IAAEC,GAAE,UAAQO,IAAEP,GAAE,WAASS,IAAEN,GAAE,OAAKQ,IAAER,GAAE,OAAKS,IAAE,EAAEZ,IAAEI,EAAC,GAAEI,KAAER,GAAE,UAASM,KAAEN,GAAE,QAAOD,KAAEC,GAAE,WAAUO,KAAEP,GAAE,SAAQK,KAAEL,GAAE,OAAMS,KAAET,GAAE,UAASW,KAAER,GAAE,MAAKS,KAAET,GAAE,MAAK,OAAKA,GAAE,SAAOA,GAAE,OAAK;AAAI;AAAA,cAAK;AAAC,mBAAIA,GAAE,OAAK,GAAE,KAAG,IAAEA,GAAE,QAAQQ,MAAG,KAAGR,GAAE,WAAS,CAAC,OAAK,KAAG,KAAI,IAAE,QAAM,GAAE,GAAG,IAAE,MAAI,OAAKS,OAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,kBAAG,KAAG,MAAI,MAAI,IAAG;AAAC,qBAAI,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,KAAG,IAAET,GAAE,QAAQ,MAAIQ,MAAG,KAAG,IAAE,KAAG,MAAI,EAAE,OAAK,KAAG,KAAI,IAAE,QAAM,GAAE,EAAE,KAAG,IAAE,MAAI,OAAKC,OAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,gBAAAD,QAAK,GAAEC,MAAG,GAAET,GAAE,QAAM;AAAA,cAAC;AAAC,kBAAGQ,QAAK,GAAEC,MAAG,GAAET,GAAE,QAAM,GAAEA,GAAE,SAAO,GAAE,MAAI,GAAE;AAAC,gBAAAA,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAG,KAAG,GAAE;AAAC,gBAAAA,GAAE,OAAK,IAAGA,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,kBAAG,KAAG,GAAE;AAAC,gBAAAH,GAAE,MAAI,+BAA8BG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,QAAM,KAAG,GAAEA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAGA,GAAE,OAAM;AAAC,qBAAI,IAAEA,GAAE,OAAMS,KAAE,KAAG;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,gBAAAT,GAAE,UAAQQ,MAAG,KAAGR,GAAE,SAAO,GAAEQ,QAAKR,GAAE,OAAMS,MAAGT,GAAE,OAAMA,GAAE,QAAMA,GAAE;AAAA,cAAK;AAAC,cAAAA,GAAE,MAAIA,GAAE,QAAOA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,qBAAK,KAAG,IAAEA,GAAE,SAASQ,MAAG,KAAGR,GAAE,YAAU,CAAC,OAAK,KAAG,KAAI,IAAE,QAAM,GAAE,GAAG,IAAE,MAAI,OAAKS,OAAI;AAAC,oBAAG,MAAIH,GAAE,OAAM;AAAE,gBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,cAAC;AAAC,kBAAG,MAAI,MAAI,IAAG;AAAC,qBAAI,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,KAAG,IAAET,GAAE,SAAS,MAAIQ,MAAG,KAAG,IAAE,KAAG,MAAI,EAAE,OAAK,KAAG,KAAI,IAAE,QAAM,GAAE,EAAE,KAAG,IAAE,MAAI,OAAKC,OAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,gBAAAD,QAAK,GAAEC,MAAG,GAAET,GAAE,QAAM;AAAA,cAAC;AAAC,kBAAGQ,QAAK,GAAEC,MAAG,GAAET,GAAE,QAAM,GAAE,KAAG,GAAE;AAAC,gBAAAH,GAAE,MAAI,yBAAwBG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,SAAO,GAAEA,GAAE,QAAM,KAAG,GAAEA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAGA,GAAE,OAAM;AAAC,qBAAI,IAAEA,GAAE,OAAMS,KAAE,KAAG;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,gBAAAT,GAAE,UAAQQ,MAAG,KAAGR,GAAE,SAAO,GAAEQ,QAAKR,GAAE,OAAMS,MAAGT,GAAE,OAAMA,GAAE,QAAMA,GAAE;AAAA,cAAK;AAAC,kBAAGA,GAAE,SAAOA,GAAE,MAAK;AAAC,gBAAAH,GAAE,MAAI,iCAAgCG,GAAE,OAAK;AAAG;AAAA,cAAK;AAAC,cAAAA,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAG,MAAIJ,GAAE,OAAM;AAAE,kBAAG,IAAEK,KAAEL,IAAEI,GAAE,SAAO,GAAE;AAAC,qBAAI,IAAEA,GAAE,SAAO,KAAGA,GAAE,SAAOA,GAAE,MAAK;AAAC,kBAAAH,GAAE,MAAI,iCAAgCG,GAAE,OAAK;AAAG;AAAA,gBAAK;AAAC,oBAAE,IAAEA,GAAE,SAAO,KAAGA,GAAE,OAAMA,GAAE,QAAM,KAAGA,GAAE,QAAM,GAAE,IAAEA,GAAE,WAAS,IAAEA,GAAE,SAAQ,IAAEA,GAAE;AAAA,cAAM,MAAM,KAAEG,IAAE,IAAEE,KAAEL,GAAE,QAAO,IAAEA,GAAE;AAAO,mBAAIJ,KAAE,MAAI,IAAEA,KAAGA,MAAG,GAAEI,GAAE,UAAQ,GAAEG,GAAEE,IAAG,IAAE,EAAE,GAAG,GAAE,EAAE,IAAG;AAAC,oBAAIL,GAAE,WAASA,GAAE,OAAK;AAAI;AAAA,YAAM,KAAK;AAAG,kBAAG,MAAIJ,GAAE,OAAM;AAAE,cAAAO,GAAEE,IAAG,IAAEL,GAAE,QAAOJ,MAAII,GAAE,OAAK;AAAG;AAAA,YAAM,KAAK;AAAG,kBAAGA,GAAE,MAAK;AAAC,uBAAKS,KAAE,MAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,oBAAGR,MAAGL,IAAEC,GAAE,aAAWI,IAAED,GAAE,SAAOC,IAAEA,OAAIJ,GAAE,QAAMG,GAAE,QAAMA,GAAE,QAAM,EAAEA,GAAE,OAAMG,IAAEF,IAAEI,KAAEJ,EAAC,IAAE,EAAED,GAAE,OAAMG,IAAEF,IAAEI,KAAEJ,EAAC,IAAGA,KAAEL,KAAGI,GAAE,QAAMQ,KAAE,EAAEA,EAAC,OAAKR,GAAE,OAAM;AAAC,kBAAAH,GAAE,MAAI,wBAAuBG,GAAE,OAAK;AAAG;AAAA,gBAAK;AAAC,gBAAAS,KAAED,KAAE;AAAA,cAAC;AAAC,cAAAR,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAGA,GAAE,QAAMA,GAAE,OAAM;AAAC,uBAAKS,KAAE,MAAI;AAAC,sBAAG,MAAIH,GAAE,OAAM;AAAE,kBAAAA,MAAIE,MAAGN,GAAEE,IAAG,KAAGK,IAAEA,MAAG;AAAA,gBAAC;AAAC,oBAAGD,QAAK,aAAWR,GAAE,QAAO;AAAC,kBAAAH,GAAE,MAAI,0BAAyBG,GAAE,OAAK;AAAG;AAAA,gBAAK;AAAC,gBAAAS,KAAED,KAAE;AAAA,cAAC;AAAC,cAAAR,GAAE,OAAK;AAAA,YAAG,KAAK;AAAG,kBAAE;AAAE,oBAAM;AAAA,YAAE,KAAK;AAAG,kBAAE;AAAG,oBAAM;AAAA,YAAE,KAAK;AAAG,qBAAM;AAAA,YAAG,KAAK;AAAA,YAAG;AAAQ,qBAAO;AAAA,UAAC;AAAC,iBAAOH,GAAE,WAASQ,IAAER,GAAE,YAAUD,IAAEC,GAAE,UAAQO,IAAEP,GAAE,WAASS,IAAEN,GAAE,OAAKQ,IAAER,GAAE,OAAKS,KAAGT,GAAE,SAAOC,OAAIJ,GAAE,aAAWG,GAAE,OAAK,OAAKA,GAAE,OAAK,MAAI,MAAID,QAAK,EAAEF,IAAEA,GAAE,QAAOA,GAAE,UAASI,KAAEJ,GAAE,SAAS,KAAGG,GAAE,OAAK,IAAG,OAAKU,MAAGb,GAAE,UAASI,MAAGJ,GAAE,WAAUA,GAAE,YAAUa,IAAEb,GAAE,aAAWI,IAAED,GAAE,SAAOC,IAAED,GAAE,QAAMC,OAAIJ,GAAE,QAAMG,GAAE,QAAMA,GAAE,QAAM,EAAEA,GAAE,OAAMG,IAAEF,IAAEJ,GAAE,WAASI,EAAC,IAAE,EAAED,GAAE,OAAMG,IAAEF,IAAEJ,GAAE,WAASI,EAAC,IAAGJ,GAAE,YAAUG,GAAE,QAAMA,GAAE,OAAK,KAAG,MAAI,OAAKA,GAAE,OAAK,MAAI,MAAI,OAAKA,GAAE,QAAM,OAAKA,GAAE,OAAK,MAAI,KAAI,KAAGU,MAAG,MAAIT,MAAG,MAAIF,OAAI,MAAI,MAAI,IAAE,KAAI;AAAA,QAAE,GAAE,EAAE,aAAW,SAASF,IAAE;AAAC,cAAG,CAACA,MAAG,CAACA,GAAE,MAAM,QAAO;AAAE,cAAIE,KAAEF,GAAE;AAAM,iBAAOE,GAAE,WAASA,GAAE,SAAO,OAAMF,GAAE,QAAM,MAAK;AAAA,QAAC,GAAE,EAAE,mBAAiB,SAASA,IAAEE,IAAE;AAAC,cAAIC;AAAE,iBAAOH,MAAGA,GAAE,QAAM,MAAI,KAAGG,KAAEH,GAAE,OAAO,QAAM,MAAIG,GAAE,OAAKD,IAAG,OAAK,OAAG,KAAG;AAAA,QAAC,GAAE,EAAE,uBAAqB,SAASF,IAAEE,IAAE;AAAC,cAAIC,IAAEE,KAAEH,GAAE;AAAO,iBAAOF,MAAGA,GAAE,QAAM,OAAKG,KAAEH,GAAE,OAAO,QAAM,OAAKG,GAAE,OAAK,IAAE,OAAKA,GAAE,QAAM,EAAE,GAAED,IAAEG,IAAE,CAAC,MAAIF,GAAE,QAAM,KAAG,EAAEH,IAAEE,IAAEG,IAAEA,EAAC,KAAGF,GAAE,OAAK,IAAG,OAAKA,GAAE,WAAS,GAAE,KAAG;AAAA,QAAC,GAAE,EAAE,cAAY;AAAA,MAAoC,GAAE,EAAC,mBAAkB,IAAG,aAAY,IAAG,WAAU,IAAG,aAAY,IAAG,cAAa,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,GAAE,IAAE,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,CAAC,GAAE,IAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,IAAE,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,GAAE,CAAC,GAAE,IAAE,CAAC,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE;AAAE,UAAE,UAAQ,SAASH,IAAEE,IAAEC,IAAE,GAAE,GAAE,GAAE,GAAE,GAAE;AAAC,cAAIJ,IAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAE,EAAE,MAAK,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,GAAE,IAAE,MAAK,IAAE,GAAE,IAAE,IAAI,EAAE,MAAM,EAAE,GAAE,IAAE,IAAI,EAAE,MAAM,EAAE,GAAE,IAAE,MAAK,IAAE;AAAE,eAAI,IAAE,GAAE,KAAG,IAAG,IAAI,GAAE,CAAC,IAAE;AAAE,eAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAEG,GAAEC,KAAE,CAAC,CAAC;AAAI,eAAI,IAAE,GAAE,IAAE,IAAG,KAAG,KAAG,MAAI,EAAE,CAAC,GAAE,IAAI;AAAC,cAAG,IAAE,MAAI,IAAE,IAAG,MAAI,EAAE,QAAO,EAAE,GAAG,IAAE,UAAS,EAAE,GAAG,IAAE,UAAS,EAAE,OAAK,GAAE;AAAE,eAAI,IAAE,GAAE,IAAE,KAAG,MAAI,EAAE,CAAC,GAAE,IAAI;AAAC,eAAI,IAAE,MAAI,IAAE,IAAG,IAAE,IAAE,GAAE,KAAG,IAAG,IAAI,KAAG,MAAI,IAAG,KAAG,EAAE,CAAC,KAAG,EAAE;AAAS,cAAG,IAAE,MAAI,MAAIH,MAAG,MAAI,GAAG,QAAM;AAAG,eAAI,EAAE,CAAC,IAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAI,GAAE,IAAE,CAAC,IAAE,EAAE,CAAC,IAAE,EAAE,CAAC;AAAE,eAAI,IAAE,GAAE,IAAE,GAAE,IAAI,OAAIE,GAAEC,KAAE,CAAC,MAAI,EAAE,EAAED,GAAEC,KAAE,CAAC,CAAC,GAAG,IAAE;AAAG,cAAG,IAAE,MAAIH,MAAG,IAAE,IAAE,GAAE,MAAI,MAAIA,MAAG,IAAE,GAAE,KAAG,KAAI,IAAE,GAAE,KAAG,KAAI,QAAM,IAAE,GAAE,IAAE,GAAE,KAAI,IAAE,GAAE,IAAE,GAAE,IAAE,IAAE,IAAE,GAAE,IAAE,IAAG,KAAG,IAAE,MAAI,IAAE,MAAI,GAAE,MAAIA,MAAG,MAAI,KAAG,MAAIA,MAAG,MAAI,EAAE,QAAO;AAAE,qBAAO;AAAC,iBAAI,IAAE,IAAE,GAAE,IAAE,EAAE,CAAC,IAAE,KAAG,IAAE,GAAE,EAAE,CAAC,KAAG,EAAE,CAAC,IAAE,KAAG,IAAE,EAAE,IAAE,EAAE,CAAC,CAAC,GAAE,EAAE,IAAE,EAAE,CAAC,CAAC,MAAI,IAAE,IAAG,IAAGD,KAAE,KAAG,IAAE,GAAE,IAAE,IAAE,KAAG,GAAE,EAAE,KAAG,KAAG,MAAI,KAAGA,GAAE,IAAE,KAAG,KAAG,KAAG,KAAG,IAAE,GAAE,MAAI,IAAG;AAAC,iBAAIA,KAAE,KAAG,IAAE,GAAE,IAAEA,KAAG,CAAAA,OAAI;AAAE,gBAAG,MAAIA,MAAG,KAAGA,KAAE,GAAE,KAAGA,MAAG,IAAE,GAAE,KAAI,KAAG,EAAE,EAAE,CAAC,GAAE;AAAC,kBAAG,MAAI,EAAE;AAAM,kBAAEG,GAAEC,KAAE,EAAE,CAAC,CAAC;AAAA,YAAC;AAAC,gBAAG,IAAE,MAAI,IAAE,OAAK,GAAE;AAAC,mBAAI,MAAI,MAAI,IAAE,IAAG,KAAG,GAAE,IAAE,MAAI,IAAE,IAAE,IAAG,IAAE,IAAE,KAAG,GAAG,KAAG,EAAE,IAAE,CAAC,MAAI,KAAI,MAAI,MAAI;AAAE,kBAAG,KAAG,KAAG,GAAE,MAAIH,MAAG,MAAI,KAAG,MAAIA,MAAG,MAAI,EAAE,QAAO;AAAE,gBAAE,IAAE,IAAE,CAAC,IAAE,KAAG,KAAG,KAAG,KAAG,IAAE,IAAE;AAAA,YAAC;AAAA,UAAC;AAAC,iBAAO,MAAI,MAAI,EAAE,IAAE,CAAC,IAAE,IAAE,KAAG,KAAG,MAAI,KAAG,IAAG,EAAE,OAAK,GAAE;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,EAAC,GAAE,mBAAkB,GAAE,cAAa,GAAE,IAAG,MAAK,cAAa,MAAK,gBAAe,MAAK,cAAa,MAAK,uBAAsB,MAAK,gBAAe,MAAK,uBAAsB;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,YAAI,IAAE,EAAE,iBAAiB,GAAE,IAAE,GAAED,KAAE;AAAE,iBAAS,EAAEC,IAAE;AAAC,mBAAQE,KAAEF,GAAE,QAAO,KAAG,EAAEE,KAAG,CAAAF,GAAEE,EAAC,IAAE;AAAA,QAAC;AAAC,YAAI,IAAE,GAAE,IAAE,IAAG,IAAE,KAAI,IAAE,IAAE,IAAE,GAAE,IAAE,IAAG,IAAE,IAAG,IAAE,IAAE,IAAE,GAAE,IAAE,IAAG,IAAE,IAAG,IAAE,GAAE,IAAE,KAAI,IAAE,IAAG,IAAE,IAAG,IAAE,IAAG,IAAE,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,IAAE,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,EAAE,GAAE,IAAE,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,IAAE,CAAC,IAAG,IAAG,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,EAAE,GAAE,IAAE,IAAI,MAAM,KAAG,IAAE,EAAE;AAAE,UAAE,CAAC;AAAE,YAAI,IAAE,IAAI,MAAM,IAAE,CAAC;AAAE,UAAE,CAAC;AAAE,YAAI,IAAE,IAAI,MAAM,GAAG;AAAE,UAAE,CAAC;AAAE,YAAI,IAAE,IAAI,MAAM,GAAG;AAAE,UAAE,CAAC;AAAE,YAAI,IAAE,IAAI,MAAM,CAAC;AAAE,UAAE,CAAC;AAAE,YAAI,GAAE,GAAE,GAAE,IAAE,IAAI,MAAM,CAAC;AAAE,iBAAS,EAAEF,IAAEE,IAAEC,IAAEE,IAAEC,IAAE;AAAC,eAAK,cAAYN,IAAE,KAAK,aAAWE,IAAE,KAAK,aAAWC,IAAE,KAAK,QAAME,IAAE,KAAK,aAAWC,IAAE,KAAK,YAAUN,MAAGA,GAAE;AAAA,QAAM;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,eAAK,WAASF,IAAE,KAAK,WAAS,GAAE,KAAK,YAAUE;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAE;AAAC,iBAAOA,KAAE,MAAI,EAAEA,EAAC,IAAE,EAAE,OAAKA,OAAI,EAAE;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAE;AAAC,UAAAF,GAAE,YAAYA,GAAE,SAAS,IAAE,MAAIE,IAAEF,GAAE,YAAYA,GAAE,SAAS,IAAEE,OAAI,IAAE;AAAA,QAAG;AAAC,iBAAS,EAAEF,IAAEE,IAAEC,IAAE;AAAC,UAAAH,GAAE,WAAS,IAAEG,MAAGH,GAAE,UAAQE,MAAGF,GAAE,WAAS,OAAM,EAAEA,IAAEA,GAAE,MAAM,GAAEA,GAAE,SAAOE,MAAG,IAAEF,GAAE,UAASA,GAAE,YAAUG,KAAE,MAAIH,GAAE,UAAQE,MAAGF,GAAE,WAAS,OAAMA,GAAE,YAAUG;AAAA,QAAE;AAAC,iBAAS,EAAEH,IAAEE,IAAEC,IAAE;AAAC,YAAEH,IAAEG,GAAE,IAAED,EAAC,GAAEC,GAAE,IAAED,KAAE,CAAC,CAAC;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAEE,IAAE;AAAC,mBAAQC,KAAE,GAAEA,MAAG,IAAEH,IAAEA,QAAK,GAAEG,OAAI,GAAE,IAAE,EAAED,KAAG;AAAC,iBAAOC,OAAI;AAAA,QAAC;AAAC,iBAAS,EAAEH,IAAEE,IAAEC,IAAE;AAAC,cAAIE,IAAEC,IAAEC,KAAE,IAAI,MAAM,IAAE,CAAC,GAAEC,KAAE;AAAE,eAAIH,KAAE,GAAEA,MAAG,GAAEA,KAAI,CAAAE,GAAEF,EAAC,IAAEG,KAAEA,KAAEL,GAAEE,KAAE,CAAC,KAAG;AAAE,eAAIC,KAAE,GAAEA,MAAGJ,IAAEI,MAAI;AAAC,gBAAIG,KAAET,GAAE,IAAEM,KAAE,CAAC;AAAE,kBAAIG,OAAIT,GAAE,IAAEM,EAAC,IAAE,EAAEC,GAAEE,EAAC,KAAIA,EAAC;AAAA,UAAE;AAAA,QAAC;AAAC,iBAAS,EAAET,IAAE;AAAC,cAAIE;AAAE,eAAIA,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAAF,GAAE,UAAU,IAAEE,EAAC,IAAE;AAAE,eAAIA,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAAF,GAAE,UAAU,IAAEE,EAAC,IAAE;AAAE,eAAIA,KAAE,GAAEA,KAAE,GAAEA,KAAI,CAAAF,GAAE,QAAQ,IAAEE,EAAC,IAAE;AAAE,UAAAF,GAAE,UAAU,IAAE,CAAC,IAAE,GAAEA,GAAE,UAAQA,GAAE,aAAW,GAAEA,GAAE,WAASA,GAAE,UAAQ;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAE;AAAC,cAAEA,GAAE,WAAS,EAAEA,IAAEA,GAAE,MAAM,IAAE,IAAEA,GAAE,aAAWA,GAAE,YAAYA,GAAE,SAAS,IAAEA,GAAE,SAAQA,GAAE,SAAO,GAAEA,GAAE,WAAS;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAEC,IAAEE,IAAE;AAAC,cAAIC,KAAE,IAAEJ,IAAEK,KAAE,IAAEJ;AAAE,iBAAOH,GAAEM,EAAC,IAAEN,GAAEO,EAAC,KAAGP,GAAEM,EAAC,MAAIN,GAAEO,EAAC,KAAGF,GAAEH,EAAC,KAAGG,GAAEF,EAAC;AAAA,QAAC;AAAC,iBAAS,EAAEH,IAAEE,IAAEC,IAAE;AAAC,mBAAQE,KAAEL,GAAE,KAAKG,EAAC,GAAEG,KAAEH,MAAG,GAAEG,MAAGN,GAAE,aAAWM,KAAEN,GAAE,YAAU,EAAEE,IAAEF,GAAE,KAAKM,KAAE,CAAC,GAAEN,GAAE,KAAKM,EAAC,GAAEN,GAAE,KAAK,KAAGM,MAAI,CAAC,EAAEJ,IAAEG,IAAEL,GAAE,KAAKM,EAAC,GAAEN,GAAE,KAAK,KAAI,CAAAA,GAAE,KAAKG,EAAC,IAAEH,GAAE,KAAKM,EAAC,GAAEH,KAAEG,IAAEA,OAAI;AAAE,UAAAN,GAAE,KAAKG,EAAC,IAAEE;AAAA,QAAC;AAAC,iBAAS,EAAEL,IAAEE,IAAEC,IAAE;AAAC,cAAIE,IAAEC,IAAEC,IAAEC,IAAEC,KAAE;AAAE,cAAG,MAAIT,GAAE,SAAS,QAAKK,KAAEL,GAAE,YAAYA,GAAE,QAAM,IAAES,EAAC,KAAG,IAAET,GAAE,YAAYA,GAAE,QAAM,IAAES,KAAE,CAAC,GAAEH,KAAEN,GAAE,YAAYA,GAAE,QAAMS,EAAC,GAAEA,MAAI,MAAIJ,KAAE,EAAEL,IAAEM,IAAEJ,EAAC,KAAG,EAAEF,KAAGO,KAAE,EAAED,EAAC,KAAG,IAAE,GAAEJ,EAAC,GAAE,OAAKM,KAAE,EAAED,EAAC,MAAI,EAAEP,IAAEM,MAAG,EAAEC,EAAC,GAAEC,EAAC,GAAE,EAAER,IAAEO,KAAE,EAAE,EAAEF,EAAC,GAAEF,EAAC,GAAE,OAAKK,KAAE,EAAED,EAAC,MAAI,EAAEP,IAAEK,MAAG,EAAEE,EAAC,GAAEC,EAAC,IAAGC,KAAET,GAAE,WAAU;AAAC,YAAEA,IAAE,GAAEE,EAAC;AAAA,QAAC;AAAC,iBAAS,EAAEF,IAAEE,IAAE;AAAC,cAAIC,IAAEE,IAAEC,IAAEC,KAAEL,GAAE,UAASM,KAAEN,GAAE,UAAU,aAAYO,KAAEP,GAAE,UAAU,WAAUH,KAAEG,GAAE,UAAU,OAAMS,KAAE;AAAG,eAAIX,GAAE,WAAS,GAAEA,GAAE,WAAS,GAAEG,KAAE,GAAEA,KAAEJ,IAAEI,KAAI,OAAII,GAAE,IAAEJ,EAAC,KAAGH,GAAE,KAAK,EAAEA,GAAE,QAAQ,IAAEW,KAAER,IAAEH,GAAE,MAAMG,EAAC,IAAE,KAAGI,GAAE,IAAEJ,KAAE,CAAC,IAAE;AAAE,iBAAKH,GAAE,WAAS,IAAG,CAAAO,GAAE,KAAGD,KAAEN,GAAE,KAAK,EAAEA,GAAE,QAAQ,IAAEW,KAAE,IAAE,EAAEA,KAAE,EAAE,IAAE,GAAEX,GAAE,MAAMM,EAAC,IAAE,GAAEN,GAAE,WAAUS,OAAIT,GAAE,cAAYQ,GAAE,IAAEF,KAAE,CAAC;AAAG,eAAIJ,GAAE,WAASS,IAAER,KAAEH,GAAE,YAAU,GAAE,KAAGG,IAAEA,KAAI,GAAEH,IAAEO,IAAEJ,EAAC;AAAE,eAAIG,KAAEP,IAAEI,KAAEH,GAAE,KAAK,CAAC,GAAEA,GAAE,KAAK,CAAC,IAAEA,GAAE,KAAKA,GAAE,UAAU,GAAE,EAAEA,IAAEO,IAAE,CAAC,GAAEF,KAAEL,GAAE,KAAK,CAAC,GAAEA,GAAE,KAAK,EAAEA,GAAE,QAAQ,IAAEG,IAAEH,GAAE,KAAK,EAAEA,GAAE,QAAQ,IAAEK,IAAEE,GAAE,IAAED,EAAC,IAAEC,GAAE,IAAEJ,EAAC,IAAEI,GAAE,IAAEF,EAAC,GAAEL,GAAE,MAAMM,EAAC,KAAGN,GAAE,MAAMG,EAAC,KAAGH,GAAE,MAAMK,EAAC,IAAEL,GAAE,MAAMG,EAAC,IAAEH,GAAE,MAAMK,EAAC,KAAG,GAAEE,GAAE,IAAEJ,KAAE,CAAC,IAAEI,GAAE,IAAEF,KAAE,CAAC,IAAEC,IAAEN,GAAE,KAAK,CAAC,IAAEM,MAAI,EAAEN,IAAEO,IAAE,CAAC,GAAE,KAAGP,GAAE,WAAU;AAAC,UAAAA,GAAE,KAAK,EAAEA,GAAE,QAAQ,IAAEA,GAAE,KAAK,CAAC,IAAE,SAASA,IAAEE,IAAE;AAAC,gBAAIC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEV,KAAEG,GAAE,UAASS,KAAET,GAAE,UAASU,KAAEV,GAAE,UAAU,aAAYW,KAAEX,GAAE,UAAU,WAAUE,KAAEF,GAAE,UAAU,YAAWY,KAAEZ,GAAE,UAAU,YAAWa,KAAEb,GAAE,UAAU,YAAWc,KAAE;AAAE,iBAAIT,KAAE,GAAEA,MAAG,GAAEA,KAAI,CAAAP,GAAE,SAASO,EAAC,IAAE;AAAE,iBAAIR,GAAE,IAAEC,GAAE,KAAKA,GAAE,QAAQ,IAAE,CAAC,IAAE,GAAEG,KAAEH,GAAE,WAAS,GAAEG,KAAE,GAAEA,KAAI,CAAAY,MAAGR,KAAER,GAAE,IAAEA,GAAE,KAAGM,KAAEL,GAAE,KAAKG,EAAC,KAAG,CAAC,IAAE,CAAC,IAAE,OAAKI,KAAEQ,IAAEC,OAAKjB,GAAE,IAAEM,KAAE,CAAC,IAAEE,IAAEI,KAAEN,OAAIL,GAAE,SAASO,EAAC,KAAIC,KAAE,GAAEM,MAAGT,OAAIG,KAAEJ,GAAEC,KAAES,EAAC,IAAGL,KAAEV,GAAE,IAAEM,EAAC,GAAEL,GAAE,WAASS,MAAGF,KAAEC,KAAGK,OAAIb,GAAE,cAAYS,MAAGG,GAAE,IAAEP,KAAE,CAAC,IAAEG;AAAK,gBAAG,MAAIQ,IAAE;AAAC,iBAAE;AAAC,qBAAIT,KAAEQ,KAAE,GAAE,MAAIf,GAAE,SAASO,EAAC,IAAG,CAAAA;AAAI,gBAAAP,GAAE,SAASO,EAAC,KAAIP,GAAE,SAASO,KAAE,CAAC,KAAG,GAAEP,GAAE,SAASe,EAAC,KAAIC,MAAG;AAAA,cAAC,SAAO,IAAEA;AAAG,mBAAIT,KAAEQ,IAAE,MAAIR,IAAEA,KAAI,MAAIF,KAAEL,GAAE,SAASO,EAAC,GAAE,MAAIF,KAAG,CAAAM,MAAGL,KAAEN,GAAE,KAAK,EAAEG,EAAC,OAAKJ,GAAE,IAAEO,KAAE,CAAC,MAAIC,OAAIP,GAAE,YAAUO,KAAER,GAAE,IAAEO,KAAE,CAAC,KAAGP,GAAE,IAAEO,EAAC,GAAEP,GAAE,IAAEO,KAAE,CAAC,IAAEC,KAAGF;AAAA,YAAI;AAAA,UAAC,GAAEL,IAAEE,EAAC,GAAE,EAAEK,IAAEI,IAAEX,GAAE,QAAQ;AAAA,QAAC;AAAC,iBAAS,EAAEA,IAAEE,IAAEC,IAAE;AAAC,cAAIE,IAAEC,IAAEC,KAAE,IAAGC,KAAEN,GAAE,CAAC,GAAEO,KAAE,GAAEV,KAAE,GAAEY,KAAE;AAAE,eAAI,MAAIH,OAAIT,KAAE,KAAIY,KAAE,IAAGT,GAAE,KAAGC,KAAE,KAAG,CAAC,IAAE,OAAME,KAAE,GAAEA,MAAGF,IAAEE,KAAI,CAAAC,KAAEE,IAAEA,KAAEN,GAAE,KAAGG,KAAE,KAAG,CAAC,GAAE,EAAEI,KAAEV,MAAGO,OAAIE,OAAIC,KAAEE,KAAEX,GAAE,QAAQ,IAAEM,EAAC,KAAGG,KAAE,MAAIH,MAAGA,OAAIC,MAAGP,GAAE,QAAQ,IAAEM,EAAC,KAAIN,GAAE,QAAQ,IAAE,CAAC,OAAKS,MAAG,KAAGT,GAAE,QAAQ,IAAE,CAAC,MAAIA,GAAE,QAAQ,IAAE,CAAC,KAAIO,KAAED,IAAEK,MAAGF,KAAE,OAAKD,MAAGT,KAAE,KAAI,KAAGO,OAAIE,MAAGT,KAAE,GAAE,MAAIA,KAAE,GAAE;AAAA,QAAG;AAAC,iBAAS,EAAEC,IAAEE,IAAEC,IAAE;AAAC,cAAIE,IAAEC,IAAEC,KAAE,IAAGC,KAAEN,GAAE,CAAC,GAAEO,KAAE,GAAEV,KAAE,GAAEY,KAAE;AAAE,eAAI,MAAIH,OAAIT,KAAE,KAAIY,KAAE,IAAGN,KAAE,GAAEA,MAAGF,IAAEE,KAAI,KAAGC,KAAEE,IAAEA,KAAEN,GAAE,KAAGG,KAAE,KAAG,CAAC,GAAE,EAAE,EAAEI,KAAEV,MAAGO,OAAIE,KAAG;AAAC,gBAAGC,KAAEE,GAAE,QAAK,EAAEX,IAAEM,IAAEN,GAAE,OAAO,GAAE,KAAG,EAAES,KAAG;AAAA,gBAAM,OAAIH,MAAGA,OAAIC,OAAI,EAAEP,IAAEM,IAAEN,GAAE,OAAO,GAAES,OAAK,EAAET,IAAE,GAAEA,GAAE,OAAO,GAAE,EAAEA,IAAES,KAAE,GAAE,CAAC,KAAGA,MAAG,MAAI,EAAET,IAAE,GAAEA,GAAE,OAAO,GAAE,EAAEA,IAAES,KAAE,GAAE,CAAC,MAAI,EAAET,IAAE,GAAEA,GAAE,OAAO,GAAE,EAAEA,IAAES,KAAE,IAAG,CAAC;AAAG,YAAAF,KAAED,IAAEK,MAAGF,KAAE,OAAKD,MAAGT,KAAE,KAAI,KAAGO,OAAIE,MAAGT,KAAE,GAAE,MAAIA,KAAE,GAAE;AAAA,UAAE;AAAA,QAAC;AAAC,UAAE,CAAC;AAAE,YAAI,IAAE;AAAG,iBAAS,EAAEC,IAAEE,IAAEC,IAAEE,IAAE;AAAC,YAAEL,KAAG,KAAG,MAAIK,KAAE,IAAE,IAAG,CAAC,IAAE,SAASL,IAAEE,IAAEC,IAAEE,IAAE;AAAC,cAAEL,EAAC,GAAM,EAAEA,IAAEG,EAAC,GAAE,EAAEH,IAAE,CAACG,EAAC,GAAG,EAAE,SAASH,GAAE,aAAYA,GAAE,QAAOE,IAAEC,IAAEH,GAAE,OAAO,GAAEA,GAAE,WAASG;AAAA,UAAC,GAAEH,IAAEE,IAAEC,EAAI;AAAA,QAAC;AAAC,UAAE,WAAS,SAASH,IAAE;AAAC,iBAAI,WAAU;AAAC,gBAAIA,IAAEE,IAAEC,IAAEE,IAAEC,IAAEC,KAAE,IAAI,MAAM,IAAE,CAAC;AAAE,iBAAIF,KAAEF,KAAE,GAAEE,KAAE,IAAE,GAAEA,KAAI,MAAI,EAAEA,EAAC,IAAEF,IAAEH,KAAE,GAAEA,KAAE,KAAG,EAAEK,EAAC,GAAEL,KAAI,GAAEG,IAAG,IAAEE;AAAE,iBAAI,EAAEF,KAAE,CAAC,IAAEE,IAAEA,KAAEC,KAAE,GAAED,KAAE,IAAGA,KAAI,MAAI,EAAEA,EAAC,IAAEC,IAAEN,KAAE,GAAEA,KAAE,KAAG,EAAEK,EAAC,GAAEL,KAAI,GAAEM,IAAG,IAAED;AAAE,iBAAIC,OAAI,GAAED,KAAE,GAAEA,KAAI,MAAI,EAAEA,EAAC,IAAEC,MAAG,GAAEN,KAAE,GAAEA,KAAE,KAAG,EAAEK,EAAC,IAAE,GAAEL,KAAI,GAAE,MAAIM,IAAG,IAAED;AAAE,iBAAIH,KAAE,GAAEA,MAAG,GAAEA,KAAI,CAAAK,GAAEL,EAAC,IAAE;AAAE,iBAAIF,KAAE,GAAEA,MAAG,MAAK,GAAE,IAAEA,KAAE,CAAC,IAAE,GAAEA,MAAIO,GAAE,CAAC;AAAI,mBAAKP,MAAG,MAAK,GAAE,IAAEA,KAAE,CAAC,IAAE,GAAEA,MAAIO,GAAE,CAAC;AAAI,mBAAKP,MAAG,MAAK,GAAE,IAAEA,KAAE,CAAC,IAAE,GAAEA,MAAIO,GAAE,CAAC;AAAI,mBAAKP,MAAG,MAAK,GAAE,IAAEA,KAAE,CAAC,IAAE,GAAEA,MAAIO,GAAE,CAAC;AAAI,iBAAI,EAAE,GAAE,IAAE,GAAEA,EAAC,GAAEP,KAAE,GAAEA,KAAE,GAAEA,KAAI,GAAE,IAAEA,KAAE,CAAC,IAAE,GAAE,EAAE,IAAEA,EAAC,IAAE,EAAEA,IAAE,CAAC;AAAE,gBAAE,IAAI,EAAE,GAAE,GAAE,IAAE,GAAE,GAAE,CAAC,GAAE,IAAE,IAAI,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,IAAE,IAAI,EAAE,IAAI,MAAM,CAAC,GAAE,GAAE,GAAE,GAAE,CAAC;AAAA,UAAC,MAAI,IAAE,OAAIA,GAAE,SAAO,IAAI,EAAEA,GAAE,WAAU,CAAC,GAAEA,GAAE,SAAO,IAAI,EAAEA,GAAE,WAAU,CAAC,GAAEA,GAAE,UAAQ,IAAI,EAAEA,GAAE,SAAQ,CAAC,GAAEA,GAAE,SAAO,GAAEA,GAAE,WAAS,GAAE,EAAEA,EAAC;AAAA,QAAC,GAAE,EAAE,mBAAiB,GAAE,EAAE,kBAAgB,SAASA,IAAEE,IAAEC,IAAEE,IAAE;AAAC,cAAIC,IAAEC,IAAEC,KAAE;AAAE,cAAER,GAAE,SAAO,MAAIA,GAAE,KAAK,cAAYA,GAAE,KAAK,aAAU,SAASA,IAAE;AAAC,gBAAIE,IAAEC,KAAE;AAAW,iBAAID,KAAE,GAAEA,MAAG,IAAGA,MAAIC,QAAK,EAAE,KAAG,IAAEA,MAAG,MAAIH,GAAE,UAAU,IAAEE,EAAC,EAAE,QAAO;AAAE,gBAAG,MAAIF,GAAE,UAAU,EAAE,KAAG,MAAIA,GAAE,UAAU,EAAE,KAAG,MAAIA,GAAE,UAAU,EAAE,EAAE,QAAOD;AAAE,iBAAIG,KAAE,IAAGA,KAAE,GAAEA,KAAI,KAAG,MAAIF,GAAE,UAAU,IAAEE,EAAC,EAAE,QAAOH;AAAE,mBAAO;AAAA,UAAC,GAAEC,EAAC,IAAG,EAAEA,IAAEA,GAAE,MAAM,GAAE,EAAEA,IAAEA,GAAE,MAAM,GAAEQ,MAAE,SAASR,IAAE;AAAC,gBAAIE;AAAE,iBAAI,EAAEF,IAAEA,GAAE,WAAUA,GAAE,OAAO,QAAQ,GAAE,EAAEA,IAAEA,GAAE,WAAUA,GAAE,OAAO,QAAQ,GAAE,EAAEA,IAAEA,GAAE,OAAO,GAAEE,KAAE,IAAE,GAAE,KAAGA,MAAG,MAAIF,GAAE,QAAQ,IAAE,EAAEE,EAAC,IAAE,CAAC,GAAEA,KAAI;AAAC,mBAAOF,GAAE,WAAS,KAAGE,KAAE,KAAG,IAAE,IAAE,GAAEA;AAAA,UAAC,GAAEF,EAAC,GAAEM,KAAEN,GAAE,UAAQ,IAAE,MAAI,IAAGO,KAAEP,GAAE,aAAW,IAAE,MAAI,MAAIM,OAAIA,KAAEC,OAAID,KAAEC,KAAEJ,KAAE,GAAEA,KAAE,KAAGG,MAAG,OAAKJ,KAAE,EAAEF,IAAEE,IAAEC,IAAEE,EAAC,IAAE,MAAIL,GAAE,YAAUO,OAAID,MAAG,EAAEN,IAAE,KAAGK,KAAE,IAAE,IAAG,CAAC,GAAE,EAAEL,IAAE,GAAE,CAAC,MAAI,EAAEA,IAAE,KAAGK,KAAE,IAAE,IAAG,CAAC,IAAE,SAASL,IAAEE,IAAEC,IAAEE,IAAE;AAAC,gBAAIC;AAAE,iBAAI,EAAEN,IAAEE,KAAE,KAAI,CAAC,GAAE,EAAEF,IAAEG,KAAE,GAAE,CAAC,GAAE,EAAEH,IAAEK,KAAE,GAAE,CAAC,GAAEC,KAAE,GAAEA,KAAED,IAAEC,KAAI,GAAEN,IAAEA,GAAE,QAAQ,IAAE,EAAEM,EAAC,IAAE,CAAC,GAAE,CAAC;AAAE,cAAEN,IAAEA,GAAE,WAAUE,KAAE,CAAC,GAAE,EAAEF,IAAEA,GAAE,WAAUG,KAAE,CAAC;AAAA,UAAC,GAAEH,IAAEA,GAAE,OAAO,WAAS,GAAEA,GAAE,OAAO,WAAS,GAAEQ,KAAE,CAAC,GAAE,EAAER,IAAEA,GAAE,WAAUA,GAAE,SAAS,IAAG,EAAEA,EAAC,GAAEK,MAAG,EAAEL,EAAC;AAAA,QAAC,GAAE,EAAE,YAAU,SAASA,IAAEE,IAAEC,IAAE;AAAC,iBAAOH,GAAE,YAAYA,GAAE,QAAM,IAAEA,GAAE,QAAQ,IAAEE,OAAI,IAAE,KAAIF,GAAE,YAAYA,GAAE,QAAM,IAAEA,GAAE,WAAS,CAAC,IAAE,MAAIE,IAAEF,GAAE,YAAYA,GAAE,QAAMA,GAAE,QAAQ,IAAE,MAAIG,IAAEH,GAAE,YAAW,MAAIE,KAAEF,GAAE,UAAU,IAAEG,EAAC,OAAKH,GAAE,WAAUE,MAAIF,GAAE,UAAU,KAAG,EAAEG,EAAC,IAAE,IAAE,EAAE,KAAIH,GAAE,UAAU,IAAE,EAAEE,EAAC,CAAC,MAAKF,GAAE,aAAWA,GAAE,cAAY;AAAA,QAAC,GAAE,EAAE,YAAU,SAASA,IAAE;AAAC,YAAEA,IAAE,GAAE,CAAC,GAAE,EAAEA,IAAE,GAAE,CAAC,IAAE,SAASA,IAAE;AAAC,mBAAKA,GAAE,YAAU,EAAEA,IAAEA,GAAE,MAAM,GAAEA,GAAE,SAAO,GAAEA,GAAE,WAAS,KAAG,KAAGA,GAAE,aAAWA,GAAE,YAAYA,GAAE,SAAS,IAAE,MAAIA,GAAE,QAAOA,GAAE,WAAS,GAAEA,GAAE,YAAU;AAAA,UAAE,GAAEA,EAAC;AAAA,QAAC;AAAA,MAAC,GAAE,EAAC,mBAAkB,GAAE,CAAC,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAc,UAAE,UAAQ,WAAU;AAAC,eAAK,QAAM,MAAK,KAAK,UAAQ,GAAE,KAAK,WAAS,GAAE,KAAK,WAAS,GAAE,KAAK,SAAO,MAAK,KAAK,WAAS,GAAE,KAAK,YAAU,GAAE,KAAK,YAAU,GAAE,KAAK,MAAI,IAAG,KAAK,QAAM,MAAK,KAAK,YAAU,GAAE,KAAK,QAAM;AAAA,QAAC;AAAA,MAAC,GAAE,CAAA,CAAE,GAAE,IAAG,CAAC,SAAS,GAAE,GAAE,GAAE;AAAC,SAAC,SAASA,IAAE;AAAC,YAAC,SAASG,IAAE,GAAE;AAAc,gBAAG,CAACA,GAAE,cAAa;AAAC,kBAAI,GAAE,GAAED,IAAE,GAAE,IAAE,GAAEH,KAAE,IAAG,IAAE,OAAG,IAAEI,GAAE,UAASH,KAAE,OAAO,kBAAgB,OAAO,eAAeG,EAAC;AAAE,cAAAH,KAAEA,MAAGA,GAAE,aAAWA,KAAEG,IAAE,IAAE,uBAAqB,GAAG,SAAS,KAAKA,GAAE,OAAO,IAAE,SAASH,IAAE;AAAC,wBAAQ,SAAS,WAAU;AAAC,oBAAEA,EAAC;AAAA,gBAAC,CAAC;AAAA,cAAC,KAAE,WAAU;AAAC,oBAAGG,GAAE,eAAa,CAACA,GAAE,eAAc;AAAC,sBAAIH,KAAE,MAAGE,KAAEC,GAAE;AAAU,yBAAOA,GAAE,YAAU,WAAU;AAAC,oBAAAH,KAAE;AAAA,kBAAE,GAAEG,GAAE,YAAY,IAAG,GAAG,GAAEA,GAAE,YAAUD,IAAEF;AAAA,gBAAC;AAAA,cAAC,GAAC,KAAI,IAAE,kBAAgB,KAAK,OAAM,IAAG,KAAIG,GAAE,mBAAiBA,GAAE,iBAAiB,WAAU,GAAE,KAAE,IAAEA,GAAE,YAAY,aAAY,CAAC,GAAE,SAASH,IAAE;AAAC,gBAAAG,GAAE,YAAY,IAAEH,IAAE,GAAG;AAAA,cAAC,KAAGG,GAAE,mBAAiBD,KAAE,IAAI,kBAAgB,MAAM,YAAU,SAASF,IAAE;AAAC,kBAAEA,GAAE,IAAI;AAAA,cAAC,GAAE,SAASA,IAAE;AAAC,gBAAAE,GAAE,MAAM,YAAYF,EAAC;AAAA,cAAC,KAAG,KAAG,wBAAuB,EAAE,cAAc,QAAQ,KAAG,IAAE,EAAE,iBAAgB,SAASA,IAAE;AAAC,oBAAIE,KAAE,EAAE,cAAc,QAAQ;AAAE,gBAAAA,GAAE,qBAAmB,WAAU;AAAC,oBAAEF,EAAC,GAAEE,GAAE,qBAAmB,MAAK,EAAE,YAAYA,EAAC,GAAEA,KAAE;AAAA,gBAAI,GAAE,EAAE,YAAYA,EAAC;AAAA,cAAC,KAAG,SAASF,IAAE;AAAC,2BAAW,GAAE,GAAEA,EAAC;AAAA,cAAC,GAAEA,GAAE,eAAa,SAASA,IAAE;AAAC,8BAAY,OAAOA,OAAIA,KAAE,IAAI,SAAS,KAAGA,EAAC;AAAG,yBAAQE,KAAE,IAAI,MAAM,UAAU,SAAO,CAAC,GAAEC,KAAE,GAAEA,KAAED,GAAE,QAAOC,KAAI,CAAAD,GAAEC,EAAC,IAAE,UAAUA,KAAE,CAAC;AAAE,oBAAIE,KAAE,EAAC,UAASL,IAAE,MAAKE,GAAC;AAAE,uBAAOH,GAAE,CAAC,IAAEM,IAAE,EAAE,CAAC,GAAE;AAAA,cAAG,GAAEL,GAAE,iBAAe;AAAA,YAAC;AAAC,qBAAS,EAAEA,IAAE;AAAC,qBAAOD,GAAEC,EAAC;AAAA,YAAC;AAAC,qBAAS,EAAEA,IAAE;AAAC,kBAAG,EAAE,YAAW,GAAE,GAAEA,EAAC;AAAA,mBAAM;AAAC,oBAAIE,KAAEH,GAAEC,EAAC;AAAE,oBAAGE,IAAE;AAAC,sBAAE;AAAG,sBAAG;AAAC,sBAAC,SAASF,IAAE;AAAC,0BAAIE,KAAEF,GAAE,UAASG,KAAEH,GAAE;AAAK,8BAAOG,GAAE,QAAM;AAAA,wBAAE,KAAK;AAAE,0BAAAD,GAAC;AAAG;AAAA,wBAAM,KAAK;AAAE,0BAAAA,GAAEC,GAAE,CAAC,CAAC;AAAE;AAAA,wBAAM,KAAK;AAAE,0BAAAD,GAAEC,GAAE,CAAC,GAAEA,GAAE,CAAC,CAAC;AAAE;AAAA,wBAAM,KAAK;AAAE,0BAAAD,GAAEC,GAAE,CAAC,GAAEA,GAAE,CAAC,GAAEA,GAAE,CAAC,CAAC;AAAE;AAAA,wBAAM;AAAQ,0BAAAD,GAAE,MAAM,GAAEC,EAAC;AAAA,sBAAC;AAAA,oBAAC,GAAED,EAAC;AAAA,kBAAC,UAAC;AAAQ,sBAAEF,EAAC,GAAE,IAAE;AAAA,kBAAE;AAAA,gBAAC;AAAA,cAAC;AAAA,YAAC;AAAC,qBAAS,EAAEA,IAAE;AAAC,cAAAA,GAAE,WAASG,MAAG,YAAU,OAAOH,GAAE,QAAM,MAAIA,GAAE,KAAK,QAAQ,CAAC,KAAG,EAAE,CAACA,GAAE,KAAK,MAAM,EAAE,MAAM,CAAC;AAAA,YAAC;AAAA,UAAC,GAAE,eAAa,OAAO,OAAK,WAASA,KAAE,OAAKA,KAAE,IAAI;AAAA,QAAC,GAAG,KAAK,MAAK,eAAa,OAAOU,iBAAOA,iBAAO,eAAa,OAAO,OAAK,OAAK,eAAa,OAAO,SAAO,SAAO,CAAA,CAAE;AAAA,MAAC,GAAE,CAAA,CAAE,EAAC,GAAE,CAAA,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAAA,IAAC,CAAC;AAAA;;;;;ACZ599F;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,IAAI;AAAA,CACH,SAAUO,oBAAmB;AAC1B,EAAAA,mBAAkB,gBAAgB,IAAI;AACtC,EAAAA,mBAAkB,WAAW,IAAI;AACjC,EAAAA,mBAAkB,OAAO,IAAI;AAC7B,EAAAA,mBAAkB,WAAW,IAAI;AACjC,EAAAA,mBAAkB,QAAQ,IAAI;AAC9B,EAAAA,mBAAkB,mBAAmB,IAAI;AACzC,EAAAA,mBAAkB,OAAO,IAAI;AAC7B,EAAAA,mBAAkB,UAAU,IAAI;AAChC,EAAAA,mBAAkB,aAAa,IAAI;AACnC,EAAAA,mBAAkB,WAAW,IAAI;AACjC,EAAAA,mBAAkB,WAAW,IAAI;AACjC,EAAAA,mBAAkB,UAAU,IAAI;AAChC,EAAAA,mBAAkB,QAAQ,IAAI;AAC9B,EAAAA,mBAAkB,QAAQ,IAAI;AAC9B,EAAAA,mBAAkB,oBAAoB,IAAI;AAC1C,EAAAA,mBAAkB,gBAAgB,IAAI;AACtC,EAAAA,mBAAkB,kBAAkB,IAAI;AACxC,EAAAA,mBAAkB,UAAU,IAAI;AAChC,EAAAA,mBAAkB,kBAAkB,IAAI;AACxC,EAAAA,mBAAkB,UAAU,IAAI;AACpC,GAAG,sBAAsB,oBAAoB,CAAA,EAAG;AAChD,SAAS,mBAAmB,MAAM,KAAK;AACnC,SAAO,IAAI,SAAS,IAAI,EAAE,IAAI,QAAM;AAAA,IAChC,IAAI,IAAI,KAAK,GAAG,IAAI;AAAA,IACpB,MAAM,IAAI,KAAK,GAAG,MAAM;AAAA,IACxB,QAAQ,IAAI,KAAK,GAAG,QAAQ;AAAA,IAC5B,YAAY,IAAI,KAAK,GAAG,YAAY;AAAA,EAC5C,EAAM;AACN;AAEA,SAAS,gBAAgB,WAAW;AAChC,SAAO,uCAAW,QAAQ,UAAU,KAAK,QAAQ,SAAS,OAAO;AACrE;AACA,SAAS,kBAAkB,YAAY;AACnC,SAAO,qBAAqB,KAAK,UAAU,IAAI,IAAI,UAAU,MAAM;AACvE;AACA,SAAS,UAAU,MAAM;AACrB,MAAI,KAAK,KAAK,YAAY,GAAG,IAAI;AACjC,MAAI,SAAS,MAAM,IAAI,KAAK,KAAK,UAAU,GAAG,EAAE;AAChD,MAAI,WAAW,MAAM,IAAI,OAAO,KAAK,UAAU,EAAE;AACjD,SAAO,CAAC,QAAQ,QAAQ;AAC5B;AACA,SAAS,YAAY,MAAM,MAAM;AAC7B,MAAI;AACA,UAAM,SAAS;AACf,UAAM,MAAM,IAAI,IAAI,MAAM,SAAS,IAAI,EAAE,SAAQ;AACjD,WAAO,IAAI,UAAU,OAAO,MAAM;AAAA,EACtC,QACM;AACF,WAAO,GAAG,IAAI,GAAG,IAAI;AAAA,EACzB;AACJ;AACA,SAAS,MAAM,OAAO,IAAI;AACtB,SAAO,MAAM,OAAO,CAAC,GAAG,MAAM;AAC1B,MAAE,GAAG,CAAC,CAAC,IAAI;AACX,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AACT;AACA,SAAS,aAAa,MAAM;AACxB,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,UAAM,SAAS,IAAI,WAAU;AAC7B,WAAO,YAAY,MAAM,QAAQ,OAAO,MAAM;AAC9C,WAAO,UAAU,MAAM,OAAM;AAC7B,WAAO,cAAc,IAAI;AAAA,EAC7B,CAAC;AACL;AACA,SAAS,SAAS,MAAM;AACpB,SAAO,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI;AAClE;AACA,SAAS,SAAS,MAAM;AACpB,SAAO,OAAO,SAAS,YAAY,gBAAgB;AACvD;AACA,SAAS,UAAU,WAAW,SAAS;AACnC,MAAI,CAAC,QAAQ;AACT,WAAO;AACX,QAAM,SAAS,QAAQ,MAAK;AAC5B,MAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG;AACtC,eAAW,OAAO,QAAQ;AACtB,UAAI,SAAS,OAAO,GAAG,CAAC,GAAG;AACvB,cAAM,MAAM,OAAO,GAAG,MAAM,OAAO,GAAG,IAAI;AAC1C,kBAAU,KAAK,OAAO,GAAG,CAAC;AAAA,MAC9B,OACK;AACD,eAAO,GAAG,IAAI,OAAO,GAAG;AAAA,MAC5B;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,UAAU,QAAQ,GAAG,OAAO;AACvC;AACA,SAAS,QAAQ,KAAK;AAClB,SAAO,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG;AAC1C;AACA,SAAS,MAAM,KAAK,KAAK,KAAK;AAC1B,SAAO,MAAM,MAAM,MAAO,MAAM,MAAM,MAAM;AAChD;AAEA,MAAM,OAAO;AAAA,EACT,QAAQ;AAA8D;AAC1E,MAAM,cAAc;AAAA,EAChB,KAAK,EAAE,KAAK,MAAM,MAAM,KAAI;AAAA,EAC5B,KAAK,EAAE,KAAK,IAAI,OAAO,MAAM,KAAI;AAAA,EACjC,UAAU,EAAE,KAAK,KAAK,MAAM,KAAI;AAAA,EAChC,QAAQ,EAAE,KAAK,OAAO,MAAM,MAAM,KAAK,MAAM,KAAK,GAAE;AAAA,EACpD,OAAO,EAAE,KAAK,GAAG,MAAM,KAAI;AAAA,EAC3B,SAAS,EAAE,KAAK,MAAM,MAAM,IAAG;AAAE;AACrC,SAAS,cAAc,KAAK,QAAQ,YAAY,KAAK;AACjD,MAAI,OAAO,QAAQ,iBAAiB,KAAK,GAAG,GAAG;AAC3C,WAAO;AAAA,EACX;AACA,MAAI,MAAM,SAAS,GAAG,IAAI,MAAM;AAChC,MAAI,MAAM,OAAO,MAAM;AACnB,UAAM,MAAM,KAAK,MAAM,KAAK,MAAM,GAAG;AACzC,SAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,MAAM,IAAI;AACzC;AACA,SAAS,eAAe,GAAG,eAAe,OAAO;AAC7C,UAAQ,GAAC;AAAA,IACL,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAK,aAAO;AAAA,IACjB,KAAK;AAAM,aAAO;AAAA,IAClB,KAAK;AAAO,aAAO;AAAA,IACnB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAS,aAAO;AAAA,IACrB;AAAS,aAAO;AAAA,EACxB;AACA;AACA,SAAS,oBAAoB,MAAM,OAAO,KAAK;AAC3C,MAAI,KAAK,gBAAgB,KAAK;AAC1B,WAAO;AACX,UAAQ,KAAK,WAAS;AAAA,IAClB,KAAK;AACD,YAAM,QAAQ,IAAI,KAAK,MAAM,KAAK;AAClC;AAAA,IACJ,KAAK;AACD,YAAM,WAAW,IAAI,WAAW,MAAM,OAAO,YAAY,QAAQ;AACjE;AAAA,IACJ;AACI,aAAO;AAAA,EACnB;AACI,SAAO;AACX;AAEA,SAAS,eAAe,WAAW,qBAAqB,OAAO;AAC3D,MAAI;AACA,gBAAY,UAAU,QAAQ,cAAc,EAAE;AAClD,cAAY,cAAc,SAAS;AACnC,QAAM,SAAS,IAAI,UAAS,EAAG,gBAAgB,WAAW,iBAAiB;AAC3E,QAAM,YAAY,kBAAkB,MAAM;AAC1C,MAAI;AACA,UAAM,IAAI,MAAM,SAAS;AAC7B,SAAO;AACX;AACA,SAAS,kBAAkB,KAAK;;AAC5B,UAAO,SAAI,qBAAqB,aAAa,EAAE,CAAC,MAAzC,mBAA4C;AACvD;AACA,SAAS,cAAc,MAAM;AACzB,SAAO,KAAK,WAAW,CAAC,MAAM,QAAS,KAAK,UAAU,CAAC,IAAI;AAC/D;AACA,SAAS,mBAAmB,MAAM;AAC9B,SAAO,IAAI,cAAa,EAAG,kBAAkB,IAAI;AACrD;AACA,MAAM,UAAU;AAAA,EACZ,SAAS,MAAM,YAAY,MAAM;AAC7B,UAAM,SAAS,CAAA;AACf,aAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,IAAI,GAAG,KAAK;AACpD,UAAI,IAAI,KAAK,WAAW,KAAK,CAAC;AAC9B,UAAI,EAAE,YAAY,KAAK,iBAAiB,aAAa,QAAQ,EAAE,aAAa;AACxE,eAAO,KAAK,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACX;AAAA,EACA,QAAQ,MAAM,WAAW;AACrB,aAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,IAAI,GAAG,KAAK;AACpD,UAAI,IAAI,KAAK,WAAW,KAAK,CAAC;AAC9B,UAAI,EAAE,YAAY,KAAK,EAAE,aAAa;AAClC,eAAO;AAAA,IACf;AACA,WAAO;AAAA,EACX;AAAA,EACA,YAAY,MAAM,WAAW,eAAe;AACxC,QAAI,KAAK,KAAK,QAAQ,MAAM,SAAS;AACrC,WAAO,KAAK,KAAK,KAAK,IAAI,aAAa,IAAI;AAAA,EAC/C;AAAA,EACA,MAAM,MAAM;AACR,WAAO,MAAM,KAAK,KAAK,UAAU;AAAA,EACrC;AAAA,EACA,KAAK,MAAM,WAAW;AAClB,aAAS,IAAI,GAAG,IAAI,KAAK,WAAW,QAAQ,IAAI,GAAG,KAAK;AACpD,UAAI,IAAI,KAAK,WAAW,KAAK,CAAC;AAC9B,UAAI,EAAE,aAAa;AACf,eAAO,EAAE;AAAA,IACjB;AACA,WAAO;AAAA,EACX;AAAA,EACA,QAAQ,MAAM,UAAU,eAAe,MAAM;AACzC,QAAI,MAAM,KAAK,KAAK,MAAM,QAAQ;AAClC,WAAO,MAAM,SAAS,GAAG,IAAI;AAAA,EACjC;AAAA,EACA,QAAQ,MAAM,UAAU,eAAe,MAAM;AACzC,QAAI,MAAM,KAAK,KAAK,MAAM,QAAQ;AAClC,WAAO,MAAM,SAAS,KAAK,EAAE,IAAI;AAAA,EACrC;AAAA,EACA,UAAU,MAAM,UAAU,eAAe,MAAM;AAC3C,QAAI,MAAM,KAAK,KAAK,MAAM,QAAQ;AAClC,WAAO,MAAM,WAAW,GAAG,IAAI;AAAA,EACnC;AAAA,EACA,SAAS,MAAM,UAAU,eAAe,MAAM;AAC1C,WAAO,eAAe,KAAK,KAAK,MAAM,QAAQ,GAAG,YAAY;AAAA,EACjE;AAAA,EACA,WAAW,MAAM,UAAU,QAAQ,YAAY,KAAK;AAChD,WAAO,cAAc,KAAK,KAAK,MAAM,QAAQ,GAAG,KAAK;AAAA,EACzD;AACJ;AACA,MAAM,kBAAkB,IAAI,UAAS;AAErC,MAAM,KAAK;AAAA,EACP,YAAY,UAAU,MAAM;AACxB,SAAK,WAAW;AAChB,SAAK,OAAO;AAAA,EAChB;AAAA,EACA,MAAM,OAAO;AACT,SAAK,OAAO,MAAM,KAAK,SAAS,kBAAkB,KAAK,IAAI;AAC3D,UAAM,UAAU,MAAM,KAAK,SAAS,KAAK,KAAK,IAAI;AAClD,UAAM,SAAS,KAAK,SAAS,iBAAiB,OAAO;AACrD,QAAI,KAAK,SAAS,QAAQ,YAAY;AAClC,WAAK,eAAe;AAAA,IACxB;AACA,SAAK,SAAS,OAAO,iBAAiB;AAAA,EAC1C;AAAA,EACA,OAAO;AACH,SAAK,SAAS,OAAO,KAAK,MAAM,mBAAmB,KAAK,YAAY,CAAC;AAAA,EACzE;AAAA,EACA,SAAS,MAAM;AAAA,EACf;AACJ;AAEA,MAAM,mBAAmB;AAAA,EACrB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,aAAa;AAAA,EACb,iBAAiB;AACrB;AACA,SAAS,WAAW,MAAM,KAAK;AAC3B,SAAO,IAAI,SAAS,IAAI,EAAE,IAAI,QAAM,UAAU,IAAI,GAAG,CAAC;AAC1D;AACA,SAAS,UAAU,MAAM,KAAK;AAC1B,MAAI,SAAS;AAAA,IACT,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,IAC3B,eAAe,CAAA;AAAA,EACvB;AACI,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,SAAS,IAAI,KAAK,IAAI,KAAK;AAClC;AAAA,MACJ,KAAK;AACD,eAAO,UAAU,IAAI,KAAK,IAAI,KAAK;AACnC;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO,cAAc,KAAK,kBAAkB,IAAI,GAAG,CAAC;AACpD;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,kBAAkB,MAAM,KAAK;AAClC,SAAO;AAAA,IACH,IAAI,IAAI,KAAK,MAAM,IAAI;AAAA,IACvB,KAAK,IAAI,KAAK,MAAM,SAAS;AAAA,IAC7B,MAAM,iBAAiB,KAAK,SAAS;AAAA,EAC7C;AACA;AAEA,MAAM,sBAAsB,KAAK;AAAA,EAC7B,SAAS,MAAM;AACX,SAAK,QAAQ,WAAW,MAAM,KAAK,SAAS,SAAS;AAAA,EACzD;AACJ;AAEA,SAAS,kBAAkB,MAAM,KAAK;AAClC,SAAO,IAAI,SAAS,IAAI,EAAE,IAAI,QAAM;AAAA,IAChC,WAAW,IAAI,KAAK,GAAG,WAAW;AAAA,IAClC,UAAU,IAAI,KAAK,GAAG,UAAU;AAAA,IAChC,aAAa,IAAI,KAAK,GAAG,aAAa;AAAA,EAC9C,EAAM;AACN;AAEA,MAAM,eAAe;AAAA,EACjB,YAAY,MAAM,SAAS;AACvB,SAAK,OAAO;AACZ,SAAK,UAAU;AACf,SAAK,YAAY,IAAI,UAAS;AAAA,EAClC;AAAA,EACA,IAAI,MAAM;AACN,UAAM,IAAI,cAAc,IAAI;AAC5B,WAAO,KAAK,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,MAAM,EAAE,QAAQ,OAAO,IAAI,CAAC;AAAA,EACvE;AAAA,EACA,OAAO,MAAM,SAAS;AAClB,SAAK,KAAK,KAAK,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,aAAa,KAAK,OAAO,SAAS;AAC9B,UAAM,MAAM,MAAM,MAAM,UAAU,KAAK;AACvC,WAAO,IAAI,eAAe,KAAK,OAAO;AAAA,EAC1C;AAAA,EACA,KAAK,OAAO,QAAQ;AAChB,WAAO,KAAK,KAAK,cAAc,EAAE,KAAI,CAAE;AAAA,EAC3C;AAAA,EACA,KAAK,MAAM,OAAO,UAAU;;AACxB,aAAO,UAAK,IAAI,IAAI,MAAb,mBAAgB,MAAM,UAAS,QAAQ,QAAQ,IAAI;AAAA,EAC9D;AAAA,EACA,MAAM,kBAAkB,OAAO,MAAM;AACjC,QAAI,WAAW;AACf,QAAI,QAAQ,MAAM;AACd,YAAM,CAAC,GAAG,EAAE,IAAI,UAAU,IAAI;AAC9B,iBAAW,GAAG,CAAC,SAAS,EAAE;AAAA,IAC9B;AACA,UAAM,MAAM,MAAM,KAAK,KAAK,QAAQ;AACpC,WAAO,MAAM,mBAAmB,KAAK,iBAAiB,GAAG,EAAE,mBAAmB,KAAK,SAAS,IAAI;AAAA,EACpG;AAAA,EACA,MAAM,mBAAmB;AACrB,UAAM,MAAM,MAAM,KAAK,KAAK,qBAAqB;AACjD,WAAO,MAAM,kBAAkB,KAAK,iBAAiB,GAAG,EAAE,mBAAmB,KAAK,SAAS,IAAI,CAAA;AAAA,EACnG;AAAA,EACA,iBAAiB,KAAK;AAClB,WAAO,eAAe,KAAK,KAAK,QAAQ,kBAAkB;AAAA,EAC9D;AACJ;AACA,SAAS,cAAc,MAAM;AACzB,SAAO,KAAK,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI;AACnD;AAEA,MAAM,qBAAqB,KAAK;AAAA,EAC5B,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,IAAI;AACf,SAAK,kBAAkB;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,SAAK,OAAO,KAAK,gBAAgB,kBAAkB,IAAI;AAAA,EAC3D;AACJ;AAEA,SAAS,YAAY,MAAM,KAAK;AAC5B,SAAO;AAAA,IACH,MAAM,IAAI,KAAK,MAAM,KAAK;AAAA,IAC1B,OAAO,IAAI,KAAK,MAAM,OAAO;AAAA,IAC7B,MAAM,IAAI,WAAW,MAAM,MAAM,YAAY,MAAM;AAAA,IACnD,QAAQ,IAAI,WAAW,MAAM,SAAS,YAAY,KAAK;AAAA,IACvD,OAAO,IAAI,SAAS,MAAM,OAAO;AAAA,IACjC,QAAQ,IAAI,SAAS,MAAM,QAAQ;AAAA,EAC3C;AACA;AACA,SAAS,aAAa,MAAM,KAAK;AAC7B,MAAI,SAAS,CAAA;AACb,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,OAAO,YAAY,GAAG,GAAG;AAChC;AAAA,MACJ,KAAK;AACD,eAAO,MAAM,YAAY,GAAG,GAAG;AAC/B;AAAA,MACJ,KAAK;AACD,eAAO,QAAQ,YAAY,GAAG,GAAG;AACjC;AAAA,MACJ,KAAK;AACD,eAAO,SAAS,YAAY,GAAG,GAAG;AAClC;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AAEA,IAAI;AAAA,CACH,SAAUC,cAAa;AACpB,EAAAA,aAAY,YAAY,IAAI;AAC5B,EAAAA,aAAY,UAAU,IAAI;AAC1B,EAAAA,aAAY,YAAY,IAAI;AAC5B,EAAAA,aAAY,UAAU,IAAI;AAC1B,EAAAA,aAAY,SAAS,IAAI;AAC7B,GAAG,gBAAgB,cAAc,CAAA,EAAG;AACpC,SAAS,uBAAuB,MAAM,MAAM,iBAAiB;AACzD,MAAI,UAAU,CAAA;AACd,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,gBAAQ,WAAW;AAAA,UACf,OAAO,IAAI,WAAW,GAAG,GAAG;AAAA,UAC5B,QAAQ,IAAI,WAAW,GAAG,GAAG;AAAA,UAC7B,aAAa,IAAI,KAAK,GAAG,QAAQ;AAAA,QACrD;AACgB;AAAA,MACJ,KAAK;AACD,gBAAQ,OAAO,IAAI,KAAK,GAAG,KAAK;AAChC;AAAA,MACJ,KAAK;AACD,gBAAQ,cAAc;AAAA,UAClB,MAAM,IAAI,WAAW,GAAG,MAAM;AAAA,UAC9B,OAAO,IAAI,WAAW,GAAG,OAAO;AAAA,UAChC,KAAK,IAAI,WAAW,GAAG,KAAK;AAAA,UAC5B,QAAQ,IAAI,WAAW,GAAG,QAAQ;AAAA,UAClC,QAAQ,IAAI,WAAW,GAAG,QAAQ;AAAA,UAClC,QAAQ,IAAI,WAAW,GAAG,QAAQ;AAAA,UAClC,QAAQ,IAAI,WAAW,GAAG,QAAQ;AAAA,QACtD;AACgB;AAAA,MACJ,KAAK;AACD,gBAAQ,UAAU,aAAa,GAAG,GAAG;AACrC;AAAA,MACJ,KAAK;AACD,SAAC,QAAQ,eAAe,QAAQ,aAAa,CAAA,IAAK,KAAK,2BAA2B,GAAG,GAAG,CAAC;AACzF;AAAA,MACJ,KAAK;AACD,SAAC,QAAQ,eAAe,QAAQ,aAAa,CAAA,IAAK,KAAK,2BAA2B,GAAG,GAAG,CAAC;AACzF;AAAA,MACJ,KAAK;AACD,gBAAQ,YAAY,IAAI,SAAS,GAAG,OAAO,IAAI;AAC/C;AAAA,MACJ,KAAK;AACD,gBAAQ,cAAc,aAAa,GAAG,GAAG;AACzC;AAAA,MACJ,KAAK;AACD,gBAAQ,aAAa,gBAAgB,GAAG,GAAG;AAC3C;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,aAAa,MAAM,KAAK;AAC7B,SAAO;AAAA,IACH,iBAAiB,IAAI,QAAQ,MAAM,KAAK;AAAA,IACxC,OAAO,IAAI,WAAW,MAAM,OAAO;AAAA,IACnC,WAAW,IAAI,SAAS,MAAM,KAAK;AAAA,IACnC,YAAY,IAAI,SAAS,MAAM,cAAc,IAAI;AAAA,IACjD,SAAS,IAAI,SAAS,MAAM,KAAK,EAC5B,IAAI,QAAM;AAAA,MACX,OAAO,IAAI,WAAW,GAAG,GAAG;AAAA,MAC5B,OAAO,IAAI,WAAW,GAAG,OAAO;AAAA,IAC5C,EAAU;AAAA,EACV;AACA;AACA,SAAS,gBAAgB,MAAM,KAAK;AAChC,SAAO;AAAA,IACH,SAAS,IAAI,KAAK,MAAM,SAAS;AAAA,IACjC,WAAW,IAAI,KAAK,MAAM,WAAW;AAAA,IACrC,QAAQ,IAAI,KAAK,MAAM,KAAK;AAAA,IAC5B,OAAO,IAAI,QAAQ,MAAM,OAAO;AAAA,EACxC;AACA;AACA,SAAS,2BAA2B,MAAM,KAAK;AAC3C,SAAO;AAAA,IACH,IAAI,IAAI,KAAK,MAAM,IAAI;AAAA,IACvB,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,EACnC;AACA;AAEA,SAAS,iBAAiB,MAAM,KAAK;AACjC,SAAO;AAAA,IACH,QAAQ,IAAI,WAAW,MAAM,QAAQ;AAAA,IACrC,OAAO,IAAI,WAAW,MAAM,OAAO;AAAA,IACnC,MAAM,IAAI,QAAQ,MAAM,MAAM;AAAA,IAC9B,UAAU,IAAI,KAAK,MAAM,UAAU;AAAA,EAC3C;AACA;AAEA,SAAS,mBAAmB,MAAM,KAAK;AACnC,MAAI,SAAS,CAAA;AACb,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,qBAAiB,IAAI,QAAQ,GAAG;AAAA,EACpC;AACA,SAAO;AACX;AACA,SAAS,iBAAiB,MAAM,OAAO,KAAK;AACxC,MAAI,oBAAoB,MAAM,OAAO,GAAG;AACpC,WAAO;AACX,SAAO;AACX;AAEA,SAAS,yBAAyB,MAAM,KAAK;AACzC,MAAI,SAAS,CAAA;AACb,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,2BAAuB,IAAI,QAAQ,GAAG;AAAA,EAC1C;AACA,SAAO;AACX;AACA,SAAS,uBAAuB,MAAM,OAAO,KAAK;AAC9C,MAAI,KAAK,gBAAgB,KAAK;AAC1B,WAAO;AACX,MAAI,oBAAoB,MAAM,OAAO,GAAG;AACpC,WAAO;AACX,UAAQ,KAAK,WAAS;AAAA,IAClB,KAAK;AACD,YAAM,OAAO,UAAU,MAAM,GAAG;AAChC;AAAA,IACJ,KAAK;AACD,YAAM,eAAe,uBAAuB,MAAM,GAAG;AACrD;AAAA,IACJ,KAAK;AACD,YAAM,YAAY,iBAAiB,MAAM,GAAG;AAC5C;AAAA,IACJ,KAAK;AACD,YAAM,cAAc,iBAAiB,MAAM,GAAG;AAC9C,aAAO;AAAA,IACX,KAAK;AACD,YAAM,gBAAgB,IAAI,KAAK,MAAM,KAAK;AAC1C,aAAO;AAAA,IACX,KAAK;AACD,YAAM,YAAY,IAAI,SAAS,MAAM,OAAO,IAAI;AAChD;AAAA,IACJ,KAAK;AACD,YAAM,WAAW,IAAI,SAAS,MAAM,OAAO,IAAI;AAC/C;AAAA,IACJ,KAAK;AACD,YAAM,kBAAkB,IAAI,SAAS,MAAM,OAAO,IAAI;AACtD;AAAA,IACJ,KAAK;AACD,YAAM,eAAe,IAAI,QAAQ,MAAM,KAAK;AAC5C;AAAA,IACJ,KAAK;AACD,YAAM,YAAY,IAAI,KAAK,MAAM,KAAK;AACtC;AAAA,IACJ,KAAK;AACD,YAAM,WAAW,mBAAmB,MAAM,GAAG;AAC7C;AAAA,IACJ;AACI,aAAO;AAAA,EACnB;AACI,SAAO;AACX;AACA,SAAS,UAAU,MAAM,KAAK;AAC1B,SAAO,IAAI,SAAS,MAAM,KAAK,EAC1B,IAAI,QAAM;AAAA,IACX,UAAU,IAAI,WAAW,GAAG,KAAK;AAAA,IACjC,QAAQ,IAAI,KAAK,GAAG,QAAQ;AAAA,IAC5B,OAAO,IAAI,KAAK,GAAG,KAAK;AAAA,EAChC,EAAM;AACN;AACA,SAAS,iBAAiB,MAAM,KAAK;AACjC,MAAI,SAAS,CAAA;AACb,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,KAAK,IAAI,KAAK,GAAG,KAAK;AAC7B;AAAA,MACJ,KAAK;AACD,eAAO,QAAQ,IAAI,QAAQ,GAAG,KAAK;AACnC;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AAEA,SAAS,mBAAmB,MAAM,KAAK;AACnC,MAAI,SAAS;AAAA,IACT,YAAY,CAAA;AAAA,IACZ,oBAAoB,CAAA;AAAA,IACpB,gBAAgB,CAAA;AAAA,EACxB;AACI,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,WAAW,KAAK,eAAe,GAAG,GAAG,CAAC;AAC7C;AAAA,MACJ,KAAK;AACD,eAAO,mBAAmB,KAAK,uBAAuB,GAAG,GAAG,CAAC;AAC7D;AAAA,MACJ,KAAK;AACD,eAAO,eAAe,KAAK,4BAA4B,GAAG,GAAG,CAAC;AAC9D;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,eAAe,MAAM,KAAK;AAC/B,MAAI,SAAS;AAAA,IACT,IAAI,IAAI,KAAK,MAAM,OAAO;AAAA,IAC1B,WAAW,CAAA;AAAA,EACnB;AACI,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,aAAa,IAAI,KAAK,GAAG,KAAK;AACrC;AAAA,MACJ,KAAK;AACD,eAAO,UAAU,KAAK,6BAA6B,GAAG,GAAG,CAAC;AAC1D;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,uBAAuB,MAAM,KAAK;AACvC,MAAI,SAAS;AAAA,IACT,IAAI,IAAI,KAAK,MAAM,eAAe;AAAA,IAClC,QAAQ,CAAA;AAAA,EAChB;AACI,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,OAAO,IAAI,KAAK,GAAG,KAAK;AAC/B;AAAA,MACJ,KAAK;AACD,eAAO,iBAAiB,IAAI,KAAK,GAAG,KAAK;AACzC;AAAA,MACJ,KAAK;AACD,eAAO,qBAAqB,IAAI,KAAK,GAAG,KAAK;AAC7C;AAAA,MACJ,KAAK;AACD,eAAO,YAAY,IAAI,KAAK,GAAG,KAAK;AACpC;AAAA,MACJ,KAAK;AACD,eAAO,OAAO,KAAK,oBAAoB,GAAG,GAAG,CAAC;AAC9C;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,oBAAoB,MAAM,KAAK;AACpC,MAAI,SAAS;AAAA,IACT,OAAO,IAAI,QAAQ,MAAM,MAAM;AAAA,EACvC;AACI,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,QAAQ,IAAI,KAAK,GAAG,KAAK;AAChC;AAAA,MACJ,KAAK;AACD,eAAO,UAAU,IAAI,QAAQ,GAAG,KAAK;AACrC;AAAA,MACJ,KAAK;AACD,eAAO,SAAS,IAAI,KAAK,GAAG,KAAK;AACjC;AAAA,MACJ,KAAK;AACD,eAAO,OAAO,IAAI,KAAK,GAAG,KAAK;AAC/B;AAAA,MACJ,KAAK;AACD,eAAO,gBAAgB,IAAI,KAAK,GAAG,KAAK;AACxC;AAAA,MACJ,KAAK;AACD,eAAO,kBAAkB,IAAI,KAAK,GAAG,KAAK;AAC1C;AAAA,MACJ,KAAK;AACD,eAAO,iBAAiB,IAAI,KAAK,GAAG,KAAK;AACzC;AAAA,MACJ,KAAK;AACD,eAAO,iBAAiB,yBAAyB,GAAG,GAAG;AACvD;AAAA,MACJ,KAAK;AACD,eAAO,WAAW,mBAAmB,GAAG,GAAG;AAC3C;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,6BAA6B,MAAM,KAAK;AAC7C,MAAI,SAAS;AAAA,IACT,OAAO,IAAI,QAAQ,MAAM,MAAM;AAAA,EACvC;AACI,WAAS,KAAK,IAAI,SAAS,IAAI,GAAG;AAC9B,YAAQ,EAAE,WAAS;AAAA,MACf,KAAK;AACD,eAAO,QAAQ,IAAI,QAAQ,GAAG,KAAK;AACnC;AAAA,MACJ,KAAK;AACD,eAAO,iBAAiB,oBAAoB,GAAG,GAAG;AAClD;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,4BAA4B,MAAM,KAAK;AAC5C,MAAI,OAAO,IAAI,QAAQ,MAAM,MAAM;AACnC,MAAI,QAAQ,QAAQ,IAAI,QAAQ,MAAM,OAAO;AAC7C,MAAI,YAAY,SAAS,IAAI,QAAQ,OAAO,WAAW;AACvD,SAAO,YAAY;AAAA,IACf,IAAI,IAAI,KAAK,MAAM,gBAAgB;AAAA,IACnC,aAAa,IAAI,KAAK,WAAW,IAAI;AAAA,IACrC,OAAO,IAAI,KAAK,OAAO,OAAO;AAAA,EACtC,IAAQ;AACR;AAEA,MAAM,sBAAsB,KAAK;AAAA,EAC7B,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,IAAI;AACf,SAAK,kBAAkB;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,WAAO,OAAO,MAAM,mBAAmB,MAAM,KAAK,SAAS,SAAS,CAAC;AACrE,SAAK,gBAAgB,KAAK,gBAAgB,mBAAmB,IAAI;AAAA,EACrE;AACJ;AAEA,MAAM,mBAAmB,KAAK;AAAA,EAC1B,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,IAAI;AACf,SAAK,kBAAkB;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,SAAK,SAAS,KAAK,gBAAgB,gBAAgB,IAAI;AAAA,EAC3D;AACJ;AAEA,IAAI;AAAA,CACH,SAAUC,UAAS;AAChB,EAAAA,SAAQ,UAAU,IAAI;AACtB,EAAAA,SAAQ,WAAW,IAAI;AACvB,EAAAA,SAAQ,KAAK,IAAI;AACjB,EAAAA,SAAQ,OAAO,IAAI;AACnB,EAAAA,SAAQ,eAAe,IAAI;AAC3B,EAAAA,SAAQ,OAAO,IAAI;AACnB,EAAAA,SAAQ,KAAK,IAAI;AACjB,EAAAA,SAAQ,MAAM,IAAI;AAClB,EAAAA,SAAQ,WAAW,IAAI;AACvB,EAAAA,SAAQ,UAAU,IAAI;AACtB,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,OAAO,IAAI;AACnB,EAAAA,SAAQ,MAAM,IAAI;AAClB,EAAAA,SAAQ,KAAK,IAAI;AACjB,EAAAA,SAAQ,QAAQ,IAAI;AACpB,EAAAA,SAAQ,eAAe,IAAI;AAC3B,EAAAA,SAAQ,aAAa,IAAI;AACzB,EAAAA,SAAQ,QAAQ,IAAI;AACpB,EAAAA,SAAQ,QAAQ,IAAI;AACpB,EAAAA,SAAQ,mBAAmB,IAAI;AAC/B,EAAAA,SAAQ,kBAAkB,IAAI;AAC9B,EAAAA,SAAQ,UAAU,IAAI;AACtB,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,aAAa,IAAI;AACzB,EAAAA,SAAQ,cAAc,IAAI;AAC1B,EAAAA,SAAQ,aAAa,IAAI;AACzB,EAAAA,SAAQ,YAAY,IAAI;AACxB,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,kBAAkB,IAAI;AAC9B,EAAAA,SAAQ,aAAa,IAAI;AACzB,EAAAA,SAAQ,aAAa,IAAI;AACzB,EAAAA,SAAQ,iBAAiB,IAAI;AAC7B,EAAAA,SAAQ,cAAc,IAAI;AAC1B,EAAAA,SAAQ,gBAAgB,IAAI;AAC5B,EAAAA,SAAQ,YAAY,IAAI;AACxB,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,WAAW,IAAI;AACvB,EAAAA,SAAQ,gBAAgB,IAAI;AAC5B,EAAAA,SAAQ,cAAc,IAAI;AAC1B,EAAAA,SAAQ,gBAAgB,IAAI;AAC5B,EAAAA,SAAQ,gBAAgB,IAAI;AAC5B,EAAAA,SAAQ,kBAAkB,IAAI;AAC9B,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,cAAc,IAAI;AAC1B,EAAAA,SAAQ,QAAQ,IAAI;AACpB,EAAAA,SAAQ,kBAAkB,IAAI;AAC9B,EAAAA,SAAQ,UAAU,IAAI;AACtB,EAAAA,SAAQ,eAAe,IAAI;AAC3B,EAAAA,SAAQ,WAAW,IAAI;AACvB,EAAAA,SAAQ,cAAc,IAAI;AAC1B,EAAAA,SAAQ,QAAQ,IAAI;AACpB,EAAAA,SAAQ,QAAQ,IAAI;AACpB,EAAAA,SAAQ,cAAc,IAAI;AAC1B,EAAAA,SAAQ,YAAY,IAAI;AACxB,EAAAA,SAAQ,UAAU,IAAI;AACtB,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,aAAa,IAAI;AACzB,EAAAA,SAAQ,SAAS,IAAI;AACrB,EAAAA,SAAQ,kBAAkB,IAAI;AAC9B,EAAAA,SAAQ,mBAAmB,IAAI;AAC/B,EAAAA,SAAQ,iBAAiB,IAAI;AAC7B,EAAAA,SAAQ,UAAU,IAAI;AAC1B,GAAG,YAAY,UAAU,CAAA,EAAG;AAC5B,MAAM,mBAAmB;AAAA,EACrB,cAAc;AACV,SAAK,WAAW,CAAA;AAChB,SAAK,WAAW,CAAA;AAAA,EACpB;AACJ;AAEA,MAAM,kBAAkB,mBAAmB;AAAA,EACvC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AACA,MAAM,kBAAkB,mBAAmB;AAAA,EACvC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AAEA,MAAM,6BAA6B,KAAK;AAAA,EACpC,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,IAAI;AACf,SAAK,kBAAkB;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,SAAK,cAAc,KAAK,kBAAiB;AACzC,SAAK,YAAY,WAAW,KAAK,gBAAgB,kBAAkB,IAAI;AAAA,EAC3E;AACJ;AACA,MAAM,mBAAmB,qBAAqB;AAAA,EAC1C,oBAAoB;AAChB,WAAO,IAAI,UAAS;AAAA,EACxB;AACJ;AACA,MAAM,mBAAmB,qBAAqB;AAAA,EAC1C,oBAAoB;AAChB,WAAO,IAAI,UAAS;AAAA,EACxB;AACJ;AAEA,SAAS,mBAAmB,MAAM,WAAW;AACzC,QAAM,SAAS,CAAA;AACf,WAAS,MAAM,UAAU,SAAS,IAAI,GAAG;AACrC,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,WAAW,GAAG;AACrB;AAAA,MACJ,KAAK;AACD,eAAO,QAAQ,eAAe,GAAG,WAAW;AAC5C;AAAA,MACJ,KAAK;AACD,eAAO,QAAQ,eAAe,GAAG,WAAW;AAC5C;AAAA,MACJ,KAAK;AACD,eAAO,aAAa,eAAe,GAAG,WAAW;AACjD;AAAA,MACJ,KAAK;AACD,eAAO,cAAc,GAAG;AACxB;AAAA,MACJ,KAAK;AACD,eAAO,QAAQ,eAAe,GAAG,WAAW;AAC5C;AAAA,MACJ,KAAK;AACD,eAAO,aAAa,eAAe,GAAG,WAAW;AACjD;AAAA,MACJ,KAAK;AACD,eAAO,UAAU,GAAG;AACpB;AAAA,MACJ,KAAK;AACD,eAAO,aAAa,GAAG;AACvB;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,eAAe,OAAO;AAC3B,MAAI,OAAO,UAAU;AACjB;AACJ,SAAO,SAAS,KAAK;AACzB;AAEA,MAAM,0BAA0B,KAAK;AAAA,EACjC,SAAS,MAAM;AACX,SAAK,QAAQ,mBAAmB,MAAM,KAAK,SAAS,SAAS;AAAA,EACjE;AACJ;AAEA,SAAS,eAAe,MAAM,WAAW;AACrC,QAAM,SAAS,CAAA;AACf,WAAS,MAAM,UAAU,SAAS,IAAI,GAAG;AACrC,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,QAAQ,GAAG;AAClB;AAAA,MACJ,KAAK;AACD,eAAO,cAAc,GAAG;AACxB;AAAA,MACJ,KAAK;AACD,eAAO,UAAU,GAAG;AACpB;AAAA,MACJ,KAAK;AACD,eAAO,UAAU,GAAG;AACpB;AAAA,MACJ,KAAK;AACD,eAAO,WAAW,GAAG;AACrB;AAAA,MACJ,KAAK;AACD,eAAO,WAAW,GAAG;AACrB;AAAA,MACJ,KAAK;AACD,eAAO,iBAAiB,GAAG;AAC3B;AAAA,MACJ,KAAK;AACD,WAAG,gBAAgB,OAAO,WAAW,SAAS,GAAG,WAAW;AAC5D;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AAEA,MAAM,sBAAsB,KAAK;AAAA,EAC7B,SAAS,MAAM;AACX,SAAK,QAAQ,eAAe,MAAM,KAAK,SAAS,SAAS;AAAA,EAC7D;AACJ;AAEA,MAAM,SAAS;AACf;AACA,SAAS,WAAW,MAAM,KAAK;AAC3B,MAAI,SAAS,IAAI,SAAQ;AACzB,MAAI,gBAAgB,IAAI,QAAQ,MAAM,eAAe;AACrD,WAAS,MAAM,IAAI,SAAS,aAAa,GAAG;AACxC,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,cAAc,iBAAiB,IAAI,GAAG;AAC7C;AAAA,MACJ,KAAK;AACD,eAAO,aAAa,gBAAgB,IAAI,GAAG;AAC3C;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,iBAAiB,MAAM,KAAK;AACjC,MAAI,SAAS;AAAA,IACT,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,IAC3B,QAAQ,CAAA;AAAA,EAChB;AACI,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,QAAI,UAAU,IAAI,QAAQ,IAAI,SAAS;AACvC,QAAI,SAAS,IAAI,QAAQ,IAAI,QAAQ;AACrC,QAAI,SAAS;AACT,aAAO,OAAO,GAAG,SAAS,IAAI,IAAI,KAAK,SAAS,KAAK;AAAA,IACzD,WACS,QAAQ;AACb,aAAO,OAAO,GAAG,SAAS,IAAI,IAAI,KAAK,QAAQ,SAAS;AAAA,IAC5D;AAAA,EACJ;AACA,SAAO;AACX;AACA,SAAS,gBAAgB,MAAM,KAAK;AAChC,MAAI,SAAS;AAAA,IACT,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,EACnC;AACI,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,YAAY,cAAc,IAAI,GAAG;AACxC;AAAA,MACJ,KAAK;AACD,eAAO,YAAY,cAAc,IAAI,GAAG;AACxC;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,cAAc,MAAM,KAAK;AAC9B,SAAO;AAAA,IACH,eAAe,IAAI,YAAY,MAAM,SAAS,UAAU;AAAA,IACxD,YAAY,IAAI,YAAY,MAAM,MAAM,UAAU;AAAA,IAClD,YAAY,IAAI,YAAY,MAAM,MAAM,UAAU;AAAA,EAC1D;AACA;AAEA,MAAM,kBAAkB,KAAK;AAAA,EACzB,YAAY,KAAK,MAAM;AACnB,UAAM,KAAK,IAAI;AAAA,EACnB;AAAA,EACA,SAAS,MAAM;AACX,SAAK,QAAQ,WAAW,MAAM,KAAK,SAAS,SAAS;AAAA,EACzD;AACJ;AAEA,MAAM,YAAY;AAClB;AACA,MAAM,oBAAoB,YAAY;AAAA,EAClC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AACA,MAAM,mBAAmB,YAAY;AAAA,EACjC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AAEA,MAAM,qBAAqB,KAAK;AAAA,EAC5B,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,IAAI;AACf,SAAK,kBAAkB;AAAA,EAC3B;AACJ;AACA,MAAM,sBAAsB,aAAa;AAAA,EACrC,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,MAAM,MAAM;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,SAAK,QAAQ,KAAK,gBAAgB,WAAW,MAAM,YAAY,WAAW;AAAA,EAC9E;AACJ;AACA,MAAM,qBAAqB,aAAa;AAAA,EACpC,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,MAAM,MAAM;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,SAAK,QAAQ,KAAK,gBAAgB,WAAW,MAAM,WAAW,UAAU;AAAA,EAC5E;AACJ;AAEA,SAAS,cAAc,MAAM,KAAK;AAC9B,MAAI,SAAS,CAAA;AACb,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,iBAAiB,IAAI,WAAW,IAAI,KAAK;AAChD;AAAA,MACJ,KAAK;AACD,eAAO,gBAAgB,oBAAoB,IAAI,GAAG;AAClD;AAAA,MACJ,KAAK;AACD,eAAO,eAAe,oBAAoB,IAAI,GAAG;AACjD;AAAA,MACJ,KAAK;AACD,eAAO,kBAAkB,IAAI,SAAS,IAAI,KAAK;AAC/C;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,oBAAoB,MAAM,KAAK;AACpC,MAAI,SAAS;AAAA,IACT,gBAAgB,CAAA;AAAA,EACxB;AACI,WAAS,MAAM,IAAI,SAAS,IAAI,GAAG;AAC/B,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,kBAAkB,IAAI,KAAK,IAAI,KAAK;AAC3C;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AACD,eAAO,eAAe,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC;AAC7C;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AAEA,MAAM,qBAAqB,KAAK;AAAA,EAC5B,YAAY,KAAK,MAAM;AACnB,UAAM,KAAK,IAAI;AAAA,EACnB;AAAA,EACA,SAAS,MAAM;AACX,SAAK,WAAW,cAAc,MAAM,KAAK,SAAS,SAAS;AAAA,EAC/D;AACJ;AAEA,SAAS,iBAAiB,MAAM,KAAK;AACjC,SAAO,IAAI,SAAS,MAAM,UAAU,EAAE,IAAI,OAAK;AAC3C,UAAM,aAAa,EAAE;AACrB,WAAO;AAAA,MACH,UAAU,IAAI,KAAK,GAAG,OAAO;AAAA,MAC7B,MAAM,IAAI,KAAK,GAAG,MAAM;AAAA,MACxB,MAAM,WAAW;AAAA,MACjB,OAAO,WAAW;AAAA,IAC9B;AAAA,EACI,CAAC;AACL;AAEA,MAAM,wBAAwB,KAAK;AAAA,EAC/B,SAAS,MAAM;AACX,SAAK,QAAQ,iBAAiB,MAAM,KAAK,SAAS,SAAS;AAAA,EAC/D;AACJ;AAEA,MAAM,qBAAqB,KAAK;AAAA,EAC5B,YAAY,KAAK,MAAM,QAAQ;AAC3B,UAAM,KAAK,IAAI;AACf,SAAK,kBAAkB;AAAA,EAC3B;AAAA,EACA,SAAS,MAAM;AACX,SAAK,WAAW,KAAK,gBAAgB,cAAc,IAAI;AACvD,SAAK,aAAa,MAAM,KAAK,UAAU,OAAK,EAAE,EAAE;AAAA,EACpD;AACJ;AAEA,MAAM,6BAA6B,KAAK;AAAA,EACpC,YAAY,KAAK,MAAM;AACnB,UAAM,KAAK,IAAI;AACf,SAAK,WAAW,CAAA;AAAA,EACpB;AAAA,EACA,SAAS,MAAM;AACX,UAAM,MAAM,KAAK,SAAS;AAC1B,aAAS,MAAM,IAAI,SAAS,MAAM,WAAW,GAAG;AAC5C,WAAK,SAAS,KAAK;AAAA,QACf,QAAQ,IAAI,KAAK,IAAI,QAAQ;AAAA,QAC7B,cAAc,IAAI,KAAK,IAAI,cAAc;AAAA,QACzC,MAAM,IAAI,SAAS,IAAI,MAAM;AAAA,MAC7C,CAAa;AAAA,IACL;AACA,SAAK,aAAa,MAAM,KAAK,UAAU,OAAK,EAAE,MAAM;AAAA,EACxD;AACJ;AAEA,MAAM,eAAe;AAAA,EACjB,EAAE,MAAM,kBAAkB,gBAAgB,QAAQ,oBAAmB;AAAA,EACrE,EAAE,MAAM,kBAAkB,oBAAoB,QAAQ,mBAAkB;AAAA,EACxE,EAAE,MAAM,kBAAkB,gBAAgB,QAAQ,oBAAmB;AAAA,EACrE,EAAE,MAAM,kBAAkB,kBAAkB,QAAQ,sBAAqB;AAC7E;AACA,MAAM,aAAa;AAAA,EACf,cAAc;AACV,SAAK,QAAQ,CAAA;AACb,SAAK,WAAW,CAAA;AAChB,SAAK,eAAe,CAAA;AAAA,EACxB;AAAA,EACA,aAAa,KAAK,MAAM,QAAQ,SAAS;AACrC,QAAI,IAAI,IAAI,aAAY;AACxB,MAAE,WAAW;AACb,MAAE,UAAU;AACZ,MAAE,WAAW,MAAM,eAAe,KAAK,MAAM,OAAO;AACpD,MAAE,OAAO,MAAM,EAAE,SAAS,kBAAiB;AAC3C,MAAE,eAAe,MAAM,EAAE,SAAS,iBAAgB;AAClD,UAAM,QAAQ,IAAI,aAAa,IAAI,SAAO;AACtC,YAAM,IAAI,EAAE,KAAK,KAAK,OAAK,EAAE,SAAS,IAAI,IAAI,KAAK;AACnD,aAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI;AAAA,IAClD,CAAC,CAAC;AACF,WAAO;AAAA,EACX;AAAA,EACA,KAAK,OAAO,QAAQ;AAChB,WAAO,KAAK,SAAS,KAAK,IAAI;AAAA,EAClC;AAAA,EACA,MAAM,qBAAqB,MAAM,MAAM;;AACnC,QAAI,KAAK,SAAS,IAAI;AAClB,aAAO,KAAK,SAAS,IAAI;AAC7B,QAAI,CAAC,KAAK,SAAS,IAAI,IAAI;AACvB,aAAO;AACX,QAAI,OAAO;AACX,YAAQ,MAAI;AAAA,MACR,KAAK,kBAAkB;AACnB,aAAK,eAAe,OAAO,IAAI,aAAa,KAAK,UAAU,MAAM,KAAK,OAAO;AAC7E;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,gBAAgB,OAAO,IAAI,cAAc,KAAK,UAAU,IAAI;AACjE;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,gBAAgB,OAAO,IAAI,cAAc,KAAK,UAAU,MAAM,KAAK,OAAO;AAC/E;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,aAAa,OAAO,IAAI,WAAW,KAAK,UAAU,MAAM,KAAK,OAAO;AACzE;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,YAAY,OAAO,IAAI,UAAU,KAAK,UAAU,IAAI;AACzD;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,gBAAgB,OAAO,IAAI,cAAc,KAAK,UAAU,MAAM,KAAK,OAAO;AAC/E;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,eAAe,OAAO,IAAI,aAAa,KAAK,UAAU,MAAM,KAAK,OAAO;AAC7E;AAAA,MACJ,KAAK,kBAAkB;AACnB,eAAO,IAAI,WAAW,KAAK,UAAU,MAAM,KAAK,OAAO;AACvD;AAAA,MACJ,KAAK,kBAAkB;AACnB,eAAO,IAAI,WAAW,KAAK,UAAU,MAAM,KAAK,OAAO;AACvD;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,gBAAgB,OAAO,IAAI,cAAc,KAAK,UAAU,IAAI;AACjE;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,oBAAoB,OAAO,IAAI,kBAAkB,KAAK,UAAU,IAAI;AACzE;AAAA,MACJ,KAAK,kBAAkB;AACnB,eAAO,IAAI,gBAAgB,KAAK,UAAU,IAAI;AAC9C;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,eAAe,OAAO,IAAI,aAAa,KAAK,UAAU,IAAI;AAC/D;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,eAAe,OAAO,IAAI,aAAa,KAAK,UAAU,MAAM,KAAK,OAAO;AAC7E;AAAA,MACJ,KAAK,kBAAkB;AACnB,aAAK,uBAAuB,OAAO,IAAI,qBAAqB,KAAK,UAAU,IAAI;AAC/E;AAAA,IAChB;AACQ,QAAI,QAAQ;AACR,aAAO,QAAQ,QAAQ,IAAI;AAC/B,SAAK,SAAS,IAAI,IAAI;AACtB,SAAK,MAAM,KAAK,IAAI;AACpB,UAAM,KAAK,KAAI;AACf,UAAI,UAAK,SAAL,mBAAW,UAAS,GAAG;AACvB,YAAM,CAAC,MAAM,IAAI,UAAU,KAAK,IAAI;AACpC,YAAM,QAAQ,IAAI,KAAK,KAAK,IAAI,SAAO,KAAK,qBAAqB,YAAY,IAAI,QAAQ,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;AAAA,IAChH;AACA,WAAO;AAAA,EACX;AAAA,EACA,MAAM,kBAAkB,IAAI,MAAM;AAC9B,UAAM,OAAO,KAAK,YAAY,QAAQ,KAAK,cAAc,EAAE;AAC3D,WAAO,OAAO,KAAK,UAAU,MAAM,KAAK,SAAS,KAAK,MAAM,MAAM,GAAG,IAAI,IAAI;AAAA,EACjF;AAAA,EACA,MAAM,mBAAmB,IAAI;AACzB,UAAM,OAAO,KAAK,YAAY,KAAK,eAAe,EAAE;AACpD,WAAO,OAAO,KAAK,UAAU,MAAM,KAAK,SAAS,KAAK,MAAM,MAAM,GAAG,IAAI,IAAI;AAAA,EACjF;AAAA,EACA,MAAM,SAAS,IAAI,KAAK;AACpB,UAAM,OAAO,KAAK,YAAY,KAAK,eAAe,EAAE;AACpD,QAAI,CAAC;AACD,aAAO;AACX,UAAM,IAAI,MAAM,KAAK,SAAS,KAAK,MAAM,YAAY;AACrD,WAAO,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI;AAAA,EACvE;AAAA,EACA,MAAM,aAAa,IAAI,MAAM;AACzB,UAAM,OAAO,KAAK,YAAY,QAAQ,KAAK,cAAc,EAAE;AAC3D,WAAO,OAAO,KAAK,SAAS,KAAK,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI;AAAA,EAC3E;AAAA,EACA,UAAU,MAAM,MAAM;AAClB,QAAI,CAAC;AACD,aAAO;AACX,QAAI,MAAM;AACN,YAAM,KAAK,KAAK,aAAa,KAAK,OAAK,EAAE,aAAa,QAAS,EAAE,aAAa,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAE;AAC/G,aAAO,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,GAAG,YAAW,CAAE,IAAI;AAAA,IAC7D;AACA,QAAI,KAAK,SAAS,cAAc;AAC5B,aAAO,aAAa,IAAI;AAAA,IAC5B;AACA,WAAO,IAAI,gBAAgB,IAAI;AAAA,EACnC;AAAA,EACA,gBAAgB,IAAI,WAAW,MAAM;AACjC,QAAI,OAAO,SAAS,QAAQ,KAAK,MAAM,KAAK,OAAK,EAAE,MAAM,EAAE;AAC3D,UAAM,SAAS,WAAW,UAAU,SAAS,IAAI,EAAE,CAAC,IAAI;AACxD,WAAO,MAAM,KAAK,SAAS,YAAY,IAAI,QAAQ,MAAM,CAAC,IAAI;AAAA,EAClE;AAAA,EACA,YAAY,MAAM,IAAI;AAClB,UAAM,MAAM,KAAK,KAAK,KAAK,OAAK,EAAE,MAAM,EAAE;AAC1C,UAAM,CAAC,MAAM,IAAI,UAAU,KAAK,IAAI;AACpC,WAAO,MAAM,YAAY,IAAI,QAAQ,MAAM,IAAI;AAAA,EACnD;AACJ;AACA,SAAS,YAAY,MAAM,SAAS;AAChC,QAAM,MAAM;AACZ,QAAM,UAAU,QAAQ,QAAQ,UAAU,EAAE;AAC5C,QAAM,UAAU,IAAI,MAAM,GAAG;AAC7B,WAAS,IAAI,GAAG,IAAI,KAAK;AACrB,YAAQ,MAAM,IAAI,CAAC,IAAI,SAAS,QAAQ,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;AAC3E,WAAS,IAAI,GAAG,IAAI,IAAI;AACpB,SAAK,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,IAAI,GAAG;AACvC,SAAO;AACX;AAEA,SAAS,mBAAmB,MAAM,KAAK;AACnC,SAAO;AAAA,IACH,MAAM,QAAQ;AAAA,IACd,IAAI,IAAI,KAAK,MAAM,IAAI;AAAA,IACvB,MAAM,IAAI,KAAK,MAAM,MAAM;AAAA,IAC3B,UAAU,IAAI,QAAQ,MAAM,UAAU;AAAA,IACtC,SAAS,IAAI,QAAQ,MAAM,SAAS;AAAA,EAC5C;AACA;AACA,SAAS,iBAAiB,MAAM,KAAK;AACjC,SAAO;AAAA,IACH,MAAM,QAAQ;AAAA,IACd,IAAI,IAAI,KAAK,MAAM,IAAI;AAAA,EAC/B;AACA;AAEA,MAAM,mBAAmB,mBAAmB;AAAA,EACxC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,OAAO,QAAQ;AACpB,SAAK,QAAQ,CAAA;AAAA,EACjB;AACJ;AACA,SAAS,gBAAgB,MAAM,QAAQ;AACnC,MAAI,SAAS,IAAI,WAAU;AAC3B,UAAQ,KAAK,WAAS;AAAA,IAClB,KAAK;AACD,aAAO,UAAU;AACjB,aAAO,OAAO,OAAO,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ;AAC7D;AAAA,IACJ,KAAK;AACD,aAAO,UAAU;AACjB,aAAO,OAAO,OAAO,OAAO,EAAE,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,MAAK,CAAE;AAC1E;AAAA,IACJ,KAAK;AACD,aAAO,UAAU;AACjB;AAAA,IACJ,KAAK;AACD,aAAO,UAAU;AACjB;AAAA,IACJ,KAAK;AACD,aAAO,UAAU;AACjB,aAAO,OAAO,OAAO,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ;AAC7D;AAAA,IACJ;AACI,aAAO;AAAA,EACnB;AACI,aAAW,MAAM,gBAAgB,MAAM,IAAI,GAAG;AAC1C,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,eAAe,GAAG;AACzB;AAAA,MACJ,KAAK;AACD,eAAO,MAAM,OAAO,GAAG;AACvB;AAAA,MACJ,KAAK;AACD,cAAM,CAAC,IAAI,EAAE,IAAI,WAAW,GAAG,KAAK;AACpC,eAAO,OAAO,OAAO,OAAO,EAAE,IAAI,IAAI;AACtC;AAAA,MACJ,KAAK;AACD,cAAM,CAAC,IAAI,EAAE,IAAI,WAAW,GAAG,KAAK;AACpC,eAAO,OAAO,OAAO,OAAO,EAAE,IAAI,IAAI;AACtC;AAAA,IAChB;AAAA,EACI;AACA,aAAW,MAAM,gBAAgB,SAAS,IAAI,GAAG;AAC7C,YAAQ,GAAG,WAAS;AAAA,MAChB,KAAK;AACD,eAAO,OAAO,OAAO,OAAO,YAAY,EAAE,CAAC;AAC3C;AAAA,MACJ,KAAK;AACD,eAAO,OAAO,OAAO,OAAO,UAAS,CAAE;AACvC;AAAA,MACJ,KAAK;AACD,eAAO,UAAU;AACjB,eAAO,OAAO,OAAO,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ;AAC7D,eAAO,YAAY;AAAA,UACf,IAAI,gBAAgB,KAAK,IAAI,IAAI;AAAA,UACjC,OAAO,gBAAgB,KAAK,IAAI,OAAO;AAAA,QAC3D;AACgB;AAAA,MACJ,KAAK;AACD,eAAO,SAAS,KAAK,GAAG,OAAO,kBAAkB,EAAE,CAAC;AACpD;AAAA,MACJ;AACI,cAAM,QAAQ,gBAAgB,IAAI,MAAM;AACxC,iBAAS,OAAO,SAAS,KAAK,KAAK;AACnC;AAAA,IAChB;AAAA,EACI;AACA,SAAO;AACX;AACA,SAAS,YAAY,IAAI;AACrB,SAAO;AAAA,IACH,UAAU,gBAAgB,KAAK,IAAI,OAAO;AAAA,IAC1C,gBAAgB,gBAAgB,WAAW,IAAI,UAAU,YAAY,GAAG,KAAK;AAAA,EACrF;AACA;AACA,SAAS,UAAU,IAAI;AACnB,SAAO,CAAA;AACX;AACA,SAAS,WAAW,KAAK;AACrB,SAAO,IAAI,MAAM,GAAG;AACxB;AAEA,MAAM,mBAAmB,mBAAmB;AAAA,EACxC,cAAc;AACV,UAAM,GAAG,SAAS;AAClB,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AACA,MAAM,4BAA4B,mBAAmB;AAAA,EACjD,YAAY,IAAI;AACZ,UAAK;AACL,SAAK,KAAK;AACV,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AACA,MAAM,6BAA6B,mBAAmB;AAAA,EAClD,YAAY,IAAI;AACZ,UAAK;AACL,SAAK,KAAK;AACV,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AACA,MAAM,2BAA2B,mBAAmB;AAAA,EAChD,YAAY,IAAI;AACZ,UAAK;AACL,SAAK,KAAK;AACV,SAAK,OAAO,QAAQ;AAAA,EACxB;AACJ;AAEA,IAAI,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AACf;AACA,MAAM,yBAAyB,CAAA;AAC/B,MAAM,YAAY;AAAA,EACd,SAAS,QAAQ;AAAA,EACjB,aAAa,QAAQ;AAAA,EACrB,KAAK,QAAQ;AAAA,EACb,QAAQ,QAAQ;AAAA,EAChB,SAAS,QAAQ;AAAA,EACjB,OAAO,QAAQ;AAAA,EACf,OAAO,QAAQ;AAAA,EACf,OAAO,QAAQ;AAAA,EACf,OAAO,QAAQ;AAAA,EACf,KAAK,QAAQ;AAAA,EACb,QAAQ,QAAQ;AAAA,EAChB,QAAQ,QAAQ;AAAA,EAChB,QAAQ,QAAQ;AAAA,EAChB,OAAO,QAAQ;AAAA,EACf,OAAO,QAAQ;AAAA,EACf,KAAK,QAAQ;AAAA,EACb,QAAQ,QAAQ;AAAA,EAChB,SAAS,QAAQ;AAAA,EACjB,OAAO,QAAQ;AAAA,EACf,UAAU,QAAQ;AAAA,EAClB,KAAK,QAAQ;AAAA,EACb,MAAM,QAAQ;AAAA,EACd,OAAO,QAAQ;AAAA,EACf,OAAO,QAAQ;AAAA,EACf,YAAY,QAAQ;AACxB;AACA,MAAM,eAAe;AAAA,EACjB,YAAY,SAAS;AACjB,SAAK,UAAU;AAAA,MACX,aAAa;AAAA,MACb,OAAO;AAAA,MACP,GAAG;AAAA,IACf;AAAA,EACI;AAAA,EACA,WAAW,QAAQ,UAAU,WAAW;AACpC,QAAI,SAAS,CAAA;AACb,aAAS,MAAM,gBAAgB,SAAS,QAAQ,QAAQ,GAAG;AACvD,YAAM,OAAO,IAAI,UAAS;AAC1B,WAAK,KAAK,gBAAgB,KAAK,IAAI,IAAI;AACvC,WAAK,WAAW,gBAAgB,KAAK,IAAI,MAAM;AAC/C,WAAK,WAAW,KAAK,kBAAkB,EAAE;AACzC,aAAO,KAAK,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACX;AAAA,EACA,cAAc,QAAQ;AAClB,QAAI,SAAS,CAAA;AACb,aAAS,MAAM,gBAAgB,SAAS,QAAQ,SAAS,GAAG;AACxD,YAAM,OAAO,IAAI,WAAU;AAC3B,WAAK,KAAK,gBAAgB,KAAK,IAAI,IAAI;AACvC,WAAK,SAAS,gBAAgB,KAAK,IAAI,QAAQ;AAC/C,WAAK,WAAW,gBAAgB,KAAK,IAAI,UAAU;AACnD,WAAK,OAAO,gBAAgB,KAAK,IAAI,MAAM;AAC3C,WAAK,WAAW,KAAK,kBAAkB,EAAE;AACzC,aAAO,KAAK,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,QAAQ;AACtB,QAAI,QAAQ,gBAAgB,QAAQ,QAAQ,MAAM;AAClD,QAAI,aAAa,gBAAgB,QAAQ,QAAQ,YAAY;AAC7D,QAAI,SAAS,gBAAgB,QAAQ,OAAO,QAAQ;AACpD,WAAO;AAAA,MACH,MAAM,QAAQ;AAAA,MACd,UAAU,KAAK,kBAAkB,KAAK;AAAA,MACtC,OAAO,SAAS,uBAAuB,QAAQ,eAAe,IAAI,CAAA;AAAA,MAClE,UAAU,aAAa,KAAK,gBAAgB,UAAU,IAAI,CAAA;AAAA,IACtE;AAAA,EACI;AAAA,EACA,gBAAgB,MAAM;AAClB,QAAI,SAAS,CAAA;AACb,QAAI,QAAQ,QAAQ,UAAU,MAAM,OAAO;AAC3C,QAAI,OAAO;AACP,aAAO,kBAAkB,IAAI;AAAA,IACjC;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,SAAS;AACvB,QAAI,WAAW,CAAA;AACf,eAAW,QAAQ,gBAAgB,SAAS,OAAO,GAAG;AAClD,cAAQ,KAAK,WAAS;AAAA,QAClB,KAAK;AACD,mBAAS,KAAK,KAAK,eAAe,IAAI,CAAC;AACvC;AAAA,QACJ,KAAK;AACD,mBAAS,KAAK,KAAK,cAAc,IAAI,CAAC;AACtC;AAAA,QACJ,KAAK;AACD,mBAAS,KAAK,KAAK,WAAW,IAAI,CAAC;AACnC;AAAA,QACJ,KAAK;AACD,mBAAS,KAAK,GAAG,KAAK,SAAS,MAAM,OAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC;AACpE;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,gBAAgB,SAAS;AACrB,QAAI,SAAS,CAAA;AACb,eAAW,KAAK,gBAAgB,SAAS,OAAO,GAAG;AAC/C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,KAAK,KAAK,WAAW,CAAC,CAAC;AAC9B;AAAA,QACJ,KAAK;AACD,iBAAO,KAAK,KAAK,mBAAmB,CAAC,CAAC;AACtC;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,MAAM;AACrB,QAAI,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQ,CAAA;AAAA,IACpB;AACQ,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,cAAI,MAAM,gBAAgB,QAAQ,GAAG,KAAK;AAC1C,cAAI;AACA,mBAAO,OAAO,KAAK;AAAA,cACf,QAAQ;AAAA,cACR,QAAQ,KAAK,uBAAuB,KAAK,CAAA,CAAE;AAAA,YACvE,CAAyB;AACL;AAAA,QACJ,KAAK;AACD,cAAI,MAAM,gBAAgB,QAAQ,GAAG,KAAK;AAC1C,cAAI;AACA,mBAAO,OAAO,KAAK;AAAA,cACf,QAAQ;AAAA,cACR,QAAQ,KAAK,uBAAuB,KAAK,CAAA,CAAE;AAAA,YACvE,CAAyB;AACL;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,WAAW,MAAM;AACb,QAAI,SAAS;AAAA,MACT,IAAI,gBAAgB,KAAK,MAAM,SAAS;AAAA,MACxC,WAAW,gBAAgB,SAAS,MAAM,SAAS;AAAA,MACnD,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQ,CAAA;AAAA,MACR,QAAQ;AAAA,IACpB;AACQ,YAAQ,gBAAgB,KAAK,MAAM,MAAM,GAAC;AAAA,MACtC,KAAK;AACD,eAAO,SAAS;AAChB;AAAA,MACJ,KAAK;AACD,eAAO,SAAS;AAChB;AAAA,MACJ,KAAK;AACD,eAAO,SAAS;AAChB;AAAA,IAChB;AACQ,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,UAAU,gBAAgB,KAAK,GAAG,KAAK;AAC9C;AAAA,QACJ,KAAK;AACD,iBAAO,OAAO,gBAAgB,KAAK,GAAG,KAAK;AAC3C;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,gBAAgB,KAAK,GAAG,KAAK;AAC7C;AAAA,QACJ,KAAK;AACD,iBAAO,OAAO,gBAAgB,KAAK,GAAG,KAAK;AAC3C;AAAA,QACJ,KAAK;AACD,iBAAO,UAAU,gBAAgB,KAAK,GAAG,KAAK,EAAE,MAAM,GAAG;AACzD;AAAA,QACJ,KAAK;AACD,iBAAO,OAAO,KAAK;AAAA,YACf,QAAQ;AAAA,YACR,QAAQ,KAAK,uBAAuB,GAAG,CAAA,CAAE;AAAA,UACjE,CAAqB;AACD,iBAAO,iBAAiB,yBAAyB,GAAG,eAAe;AACnE;AAAA,QACJ,KAAK;AACD,iBAAO,OAAO,KAAK;AAAA,YACf,QAAQ;AAAA,YACR,QAAQ,KAAK,uBAAuB,GAAG,CAAA,CAAE;AAAA,UACjE,CAAqB;AACD,iBAAO,WAAW,mBAAmB,GAAG,eAAe;AACvD;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,OAAO,KAAK;AAAA,YACf,QAAQ;AAAA,YACR,QAAQ,KAAK,uBAAuB,GAAG,CAAA,CAAE;AAAA,UACjE,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,mBAAS,KAAK,KAAK,gBAAgB,CAAC;AAChC,mBAAO,OAAO,KAAK,CAAC;AACxB;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD;AAAA,QACJ;AACI,eAAK,QAAQ,SAAS,QAAQ,KAAK,gCAAgC,EAAE,SAAS,EAAE;AAAA,MACpG;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,gBAAgB,MAAM;AAClB,QAAI,SAAS,CAAA;AACb,QAAI,OAAO,gBAAgB,KAAK,MAAM,MAAM;AAC5C,QAAI,WAAW;AACf,QAAI,cAAc;AAClB,YAAQ,MAAI;AAAA,MACR,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ,KAAK;AACD,sBAAc;AACd,mBAAW;AACX;AAAA,MACJ;AAAS,eAAO,CAAA;AAAA,IAC5B;AACQ,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,KAAK;AAAA,YACR,QAAQ,GAAG,QAAQ;AAAA,YACnB,KAAK;AAAA,YACL,QAAQ,KAAK,uBAAuB,GAAG,CAAA,CAAE;AAAA,UACjE,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,KAAK;AAAA,YACR,QAAQ,GAAG,QAAQ;AAAA,YACnB,KAAK;AAAA,YACL,QAAQ,KAAK,uBAAuB,GAAG,CAAA,CAAE;AAAA,UACjE,CAAqB;AACD;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,KAAK;AAAA,YACR,QAAQ;AAAA,YACR,KAAK;AAAA,YACL,QAAQ,KAAK,uBAAuB,GAAG,CAAA,CAAE;AAAA,UACjE,CAAqB;AACD;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,MAAM;AACrB,UAAM,SAAS,CAAA;AACf,UAAM,OAAO,CAAA;AACb,UAAM,UAAU,CAAA;AAChB,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,KAAK,GAAG,KAAK,uBAAuB,GAAG,OAAO,CAAC;AACtD;AAAA,QACJ,KAAK;AACD,kBAAQ,KAAK,KAAK,wBAAwB,CAAC,CAAC;AAC5C;AAAA,QACJ,KAAK;AACD,eAAK,KAAK;AAAA,YACN,OAAO,gBAAgB,KAAK,GAAG,OAAO;AAAA,YACtC,eAAe,gBAAgB,YAAY,GAAG,iBAAiB,KAAK;AAAA,UAC5F,CAAqB;AACD;AAAA,MACpB;AAAA,IACQ;AACA,WAAO,KAAK,QAAQ,OAAK,OAAO,OAAO,SAAO,EAAE,iBAAiB,IAAI,EAAE,EAAE,IAAI,UAAQ,EAAE,GAAG,KAAK,IAAI,EAAE,MAAK,EAAG,CAAC;AAAA,EAClH;AAAA,EACA,wBAAwB,MAAM;AAC1B,QAAI,OAAO,gBAAgB,QAAQ,MAAM,MAAM;AAC/C,QAAI,QAAQ,QAAQ,gBAAgB,QAAQ,MAAM,OAAO;AACzD,QAAI,YAAY,SAAS,gBAAgB,QAAQ,OAAO,WAAW;AACnE,WAAO,YAAY;AAAA,MACf,IAAI,gBAAgB,QAAQ,MAAM,gBAAgB;AAAA,MAClD,KAAK,gBAAgB,KAAK,WAAW,IAAI;AAAA,MACzC,OAAO,gBAAgB,KAAK,OAAO,OAAO;AAAA,IACtD,IAAY;AAAA,EACR;AAAA,EACA,uBAAuB,MAAM,SAAS;AAClC,QAAI,SAAS,CAAA;AACb,QAAI,KAAK,gBAAgB,KAAK,MAAM,eAAe;AACnD,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,KAAK,KAAK,oBAAoB,IAAI,GAAG,OAAO,CAAC;AACpD;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,oBAAoB,IAAI,MAAM,SAAS;AACnC,QAAI,SAAS;AAAA,MACT;AAAA,MACA,OAAO,gBAAgB,QAAQ,MAAM,MAAM;AAAA,MAC3C,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,QAAQ,CAAA;AAAA,MACR,QAAQ,CAAA;AAAA,MACR,MAAM;AAAA,IAClB;AACQ,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,QAAQ,gBAAgB,QAAQ,GAAG,KAAK;AAC/C;AAAA,QACJ,KAAK;AACD,eAAK,uBAAuB,GAAG,OAAO,MAAM;AAC5C;AAAA,QACJ,KAAK;AACD,eAAK,uBAAuB,GAAG,OAAO,MAAM;AAC5C;AAAA,QACJ,KAAK;AACD,cAAI,WAAW,gBAAgB,QAAQ,GAAG,KAAK;AAC/C,iBAAO,SAAS,QAAQ,KAAK,QAAK,uBAAG,OAAM,QAAQ;AACnD;AAAA,QACJ,KAAK;AACD,iBAAO,YAAY,gBAAgB,KAAK,GAAG,KAAK;AAChD;AAAA,QACJ,KAAK;AACD,iBAAO,aAAa,gBAAgB,KAAK,GAAG,KAAK;AACjD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,gBAAgB,KAAK,GAAG,KAAK;AAC7C;AAAA,QACJ,KAAK;AACD,iBAAO,OAAO,gBAAgB,KAAK,GAAG,KAAK;AAC3C;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,SAAS,MAAM,QAAQ;AACnB,UAAM,aAAa,gBAAgB,QAAQ,MAAM,YAAY;AAC7D,WAAO,aAAa,OAAO,UAAU,IAAI,CAAA;AAAA,EAC7C;AAAA,EACA,YAAY,MAAM,MAAM,cAAc;;AAClC,WAAO;AAAA,MACH;AAAA,MACA,YAAU,kBAAa,IAAI,MAAjB,mBAAoB,aAAY,CAAA;AAAA,MAC1C,IAAI,gBAAgB,KAAK,MAAM,IAAI;AAAA,MACnC,QAAQ,gBAAgB,KAAK,MAAM,QAAQ;AAAA,MAC3C,MAAM,gBAAgB,KAAK,MAAM,MAAM;AAAA,IACnD;AAAA,EACI;AAAA,EACA,cAAc,MAAM;AAChB,WAAO,EAAE,MAAM,QAAQ,UAAU,UAAU,CAAA,GAAI,IAAI,gBAAgB,KAAK,MAAM,IAAI,EAAC;AAAA,EACvF;AAAA,EACA,eAAe,MAAM;AACjB,QAAI,SAAS,EAAE,MAAM,QAAQ,WAAW,UAAU,GAAE;AACpD,aAAS,MAAM,gBAAgB,SAAS,IAAI,GAAG;AAC3C,cAAQ,GAAG,WAAS;AAAA,QAChB,KAAK;AACD,eAAK,yBAAyB,IAAI,MAAM;AACxC;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC;AAC9C;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,eAAe,IAAI,MAAM,CAAC;AACpD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,cAAc,IAAI,MAAM,CAAC;AACnD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,mBAAmB,IAAI,eAAe,CAAC;AAC5D;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,iBAAiB,IAAI,eAAe,CAAC;AAC1D;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,IAAI,qBAAqB,gBAAgB,KAAK,IAAI,IAAI,CAAC,CAAC;AAC7E;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,IAAI,mBAAmB,gBAAgB,KAAK,IAAI,IAAI,CAAC,CAAC;AAC3E;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,iBAAiB,EAAE,CAAC;AAC9C;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,GAAG,KAAK,SAAS,IAAI,OAAK,KAAK,eAAe,CAAC,EAAE,QAAQ,CAAC;AAC/E;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,YAAY,QAAQ,UAAU,IAAI,OAAK,KAAK,eAAe,CAAC,CAAC,CAAC;AACxF;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,YAAY,QAAQ,SAAS,IAAI,OAAK,KAAK,eAAe,CAAC,CAAC,CAAC;AACvF;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,yBAAyB,MAAM,WAAW;AACtC,SAAK,uBAAuB,MAAM,UAAU,WAAW,CAAA,GAAI,MAAM,OAAK;AAClE,UAAI,uBAAuB,GAAG,WAAW,eAAe;AACpD,eAAO;AACX,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,oBAAU,YAAY,gBAAgB,KAAK,GAAG,KAAK;AACnD;AAAA,QACJ,KAAK;AACD,oBAAU,YAAY,OAAO,oBAAoB,CAAC;AAClD;AAAA,QACJ,KAAK;AACD,eAAK,WAAW,GAAG,SAAS;AAC5B;AAAA,QACJ,KAAK;AACD;AAAA,QACJ;AACI,iBAAO;AAAA,MAC3B;AACY,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AAAA,EACA,WAAW,MAAM,WAAW;AACxB,QAAI,UAAU,gBAAgB,KAAK,MAAM,SAAS;AAClD,QAAI,WAAW;AACX,gBAAU,SAAS,OAAO,IAAI;AAAA,EACtC;AAAA,EACA,eAAe,MAAM,QAAQ;AACzB,QAAI,SAAS,EAAE,MAAM,QAAQ,WAAW,QAAgB,UAAU,GAAE;AACpE,WAAO,SAAS,gBAAgB,KAAK,MAAM,QAAQ;AACnD,WAAO,KAAK,gBAAgB,KAAK,MAAM,IAAI;AAC3C,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC;AAC7C;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,cAAc,MAAM,QAAQ;AACxB,QAAI,SAAS,EAAE,MAAM,QAAQ,UAAU,QAAQ,UAAU,GAAE;AAC3D,QAAI,MAAM,gBAAgB,KAAK,MAAM,KAAK;AAC1C,QAAI,UAAU,gBAAgB,KAAK,MAAM,SAAS;AAClD,QAAI;AACA,aAAO,MAAM;AACjB,QAAI;AACA,aAAO,UAAU;AACrB,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC;AAC7C;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,cAAc,GAAG,MAAM,CAAC;AAClD;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,SAAS,MAAM,QAAQ;AACnB,QAAI,SAAS,EAAE,MAAM,QAAQ,KAAK,QAAgB,UAAU,GAAE;AAC9D,aAAS,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC1C,UAAI,KAAK,sBAAsB,CAAC;AAChC,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,MAAM,EAAE;AAAA,UAChC,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,MAAM,EAAE;AAAA,UAChC,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,IAAI,oBAAoB,gBAAgB,KAAK,GAAG,IAAI,CAAC,CAAC;AAC3E;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,aAAa,gBAAgB,KAAK,GAAG,OAAO;AAAA,YAC5C,MAAM,gBAAgB,SAAS,GAAG,QAAQ,KAAK;AAAA,YAC/C,OAAO,gBAAgB,SAAS,GAAG,SAAS,KAAK;AAAA,UACzE,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,WAAW;AAClB,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,MAAM,EAAE;AAAA,UAChC,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,WAAW;AAClB,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,UAAU,gBAAgB,KAAK,GAAG,aAAa;AAAA,YAC/C,MAAM,gBAAgB,SAAS,GAAG,QAAQ,KAAK;AAAA,YAC/C,OAAO,gBAAgB,SAAS,GAAG,SAAS,KAAK;AAAA,UACzE,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,EAAE,MAAM,QAAQ,eAAe;AACpD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,OAAO,gBAAgB,KAAK,GAAG,MAAM,KAAK;AAAA,UAClE,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,OAAO;AAAA,UAC/B,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,MAAM,kBAAkB,gBAAgB,KAAK,GAAG,MAAM,CAAC;AAAA,YACvD,MAAM,gBAAgB,QAAQ,GAAG,MAAM;AAAA,UAC/D,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,EAAE,MAAM,QAAQ,KAAK;AAC1C;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,IAAI,gBAAgB,KAAK,GAAG,IAAI;AAAA,UACxD,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK;AAAA,YACjB,MAAM,QAAQ;AAAA,YACd,IAAI,gBAAgB,KAAK,GAAG,IAAI;AAAA,UACxD,CAAqB;AACD;AAAA,QACJ,KAAK;AACD,cAAI,IAAI,KAAK,aAAa,CAAC;AAC3B,cAAI;AACA,mBAAO,SAAS,KAAK,CAAC;AAC1B;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,gBAAgB,CAAC,CAAC;AAC5C;AAAA,QACJ,KAAK;AACD,eAAK,mBAAmB,GAAG,MAAM;AACjC;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,MAAM;AACnB,UAAM,WAAW,GAAG,KAAK,SAAS;AAClC,UAAM,SAAS,EAAE,MAAM,UAAU,KAAK,SAAS,GAAG,UAAU,GAAE;AAC9D,eAAW,MAAM,gBAAgB,SAAS,IAAI,GAAG;AAC7C,YAAM,YAAY,UAAU,GAAG,SAAS;AACxC,UAAI,WAAW;AACX,eAAO,SAAS,KAAK,KAAK,iBAAiB,EAAE,CAAC;AAAA,MAClD,WACS,GAAG,aAAa,KAAK;AAC1B,YAAI,MAAM,KAAK,SAAS,EAAE;AAC1B,YAAI,OAAO,QAAQ;AACnB,eAAO,SAAS,KAAK,GAAG;AAAA,MAC5B,WACS,GAAG,aAAa,UAAU;AAC/B,eAAO,QAAQ,KAAK,mBAAmB,EAAE;AAAA,MAC7C;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,MAAM;AACrB,UAAM,SAAS,CAAA;AACf,eAAW,MAAM,gBAAgB,SAAS,IAAI,GAAG;AAC7C,cAAQ,GAAG,WAAS;AAAA,QAChB,KAAK;AACD,iBAAO,OAAO,gBAAgB,KAAK,IAAI,KAAK;AAC5C;AAAA,QACJ,KAAK;AACD,iBAAO,wBAAwB,gBAAgB,KAAK,IAAI,KAAK;AAC7D;AAAA,QACJ,KAAK;AACD,iBAAO,WAAW,gBAAgB,KAAK,IAAI,KAAK;AAChD;AAAA,QACJ,KAAK;AACD,iBAAO,aAAa,gBAAgB,SAAS,IAAI,KAAK;AACtD;AAAA,QACJ,KAAK;AACD,iBAAO,YAAY,gBAAgB,KAAK,IAAI,KAAK;AACjD;AAAA,QACJ,KAAK;AACD,iBAAO,UAAU,gBAAgB,KAAK,IAAI,KAAK;AAC/C;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,MAAM,KAAK;AAC1B,SAAK,uBAAuB,MAAM,IAAI,WAAW,CAAA,GAAI,MAAM,OAAK;AAC5D,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,cAAI,YAAY,gBAAgB,KAAK,GAAG,KAAK;AAC7C;AAAA,QACJ,KAAK;AACD,cAAI,gBAAgB,OAAO,iBAAiB,GAAG,IAAI;AACnD;AAAA,QACJ;AACI,iBAAO;AAAA,MAC3B;AACY,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AAAA,EACA,gBAAgB,MAAM;AAClB,UAAM,SAAS,EAAE,MAAM,QAAQ,YAAY,UAAU,GAAE;AACvD,eAAW,MAAM,gBAAgB,SAAS,IAAI,GAAG;AAC7C,YAAM,QAAQ,gBAAgB,IAAI,IAAI;AACtC,eAAS,OAAO,SAAS,KAAK,KAAK;AAAA,IACvC;AACA,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,MAAM;;AACxB,QAAI,KAAK,aAAa;AAClB,aAAO;AACX,QAAI,SAAS,gBAAgB,QAAQ,MAAM,QAAQ;AACnD,QAAI,QAAQ;AACR,UAAI,WAAW,gBAAgB,KAAK,QAAQ,UAAU;AACtD,UAAI,eAAe,KAAK,mBAAmB,QAAQ;AACnD,UAAI,uBAAuB,SAAS,YAAY;AAC5C,eAAO,OAAO;AAAA,IACtB;AACA,YAAO,qBAAgB,QAAQ,MAAM,UAAU,MAAxC,mBAA2C;AAAA,EACtD;AAAA,EACA,aAAa,MAAM;AACf,aAAS,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC1C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,KAAK,oBAAoB,CAAC;AAAA,MACrD;AAAA,IACQ;AAAA,EACJ;AAAA,EACA,oBAAoB,MAAM;AACtB,QAAI,SAAS,EAAE,MAAM,QAAQ,SAAS,UAAU,CAAA,GAAI,UAAU,GAAE;AAChE,QAAI,WAAW,KAAK,aAAa;AACjC,QAAI,WAAW;AACf,QAAI,YAAY,gBAAgB,SAAS,MAAM,WAAW;AAC1D,oBAAgB,SAAS,MAAM,WAAW;AAC1C,QAAI,OAAO,EAAE,UAAU,QAAQ,OAAO,QAAQ,QAAQ,IAAG;AACzD,QAAI,OAAO,EAAE,UAAU,QAAQ,OAAO,OAAO,QAAQ,IAAG;AACxD,aAAS,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC1C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,cAAI,WAAW;AACX,iBAAK,SAAS,gBAAgB,WAAW,GAAG,KAAK,YAAY,GAAG;AAChE,iBAAK,SAAS,gBAAgB,WAAW,GAAG,KAAK,YAAY,GAAG;AAAA,UACpE;AACA;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,OAAO,IAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,GAAG;AAC9E,iBAAO,SAAS,QAAQ,IAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,GAAG;AAC/E;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,cAAI,CAAC,WAAW;AACZ,gBAAI,MAAM,EAAE,aAAa,cAAc,OAAO;AAC9C,gBAAI,YAAY,gBAAgB,QAAQ,GAAG,OAAO;AAClD,gBAAI,aAAa,gBAAgB,QAAQ,GAAG,WAAW;AACvD,gBAAI,WAAW,gBAAgB,KAAK,GAAG,cAAc,KAAK,IAAI;AAC9D,gBAAI;AACA,kBAAI,QAAQ,UAAU;AAC1B,gBAAI;AACA,kBAAI,SAAS,cAAc,WAAW,aAAa,YAAY,GAAG;AAAA,UAC1E;AACA;AAAA,QACJ,KAAK;AACD,qBAAW;AACX;AAAA,QACJ,KAAK;AACD,qBAAW;AACX;AAAA,QACJ,KAAK;AACD,cAAI,IAAI,KAAK,aAAa,CAAC;AAC3B,cAAI;AACA,mBAAO,SAAS,KAAK,CAAC;AAC1B;AAAA,MACpB;AAAA,IACQ;AACA,QAAI,YAAY,oBAAoB;AAChC,aAAO,SAAS,SAAS,IAAI;AAC7B,UAAI,KAAK,OAAO;AACZ,eAAO,SAAS,YAAY,IAAI,KAAK;AACrC,eAAO,SAAS,OAAO,IAAI;AAAA,MAC/B;AAAA,IACJ,WACS,YAAY,YAAY;AAC7B,aAAO,SAAS,SAAS,IAAI;AAC7B,aAAO,SAAS,UAAU,IAAI;AAC9B,aAAO,SAAS,OAAO,IAAI;AAC3B,aAAO,SAAS,QAAQ,IAAI;AAC5B,UAAI,KAAK;AACL,eAAO,SAAS,MAAM,IAAI,KAAK;AACnC,UAAI,KAAK;AACL,eAAO,SAAS,KAAK,IAAI,KAAK;AAAA,IACtC,WACS,aAAa,KAAK,SAAS,UAAU,KAAK,SAAS,UAAU;AAClE,aAAO,SAAS,OAAO,IAAI,KAAK;AAAA,IACpC;AACA,WAAO;AAAA,EACX;AAAA,EACA,aAAa,MAAM;AACf,QAAI,cAAc,gBAAgB,QAAQ,MAAM,aAAa;AAC7D,aAAS,KAAK,gBAAgB,SAAS,WAAW,GAAG;AACjD,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,KAAK,aAAa,CAAC;AAAA,MAC9C;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,aAAa,MAAM;AACf,QAAI,SAAS,EAAE,MAAM,QAAQ,OAAO,KAAK,IAAI,UAAU,GAAE;AACzD,QAAI,WAAW,gBAAgB,QAAQ,MAAM,UAAU;AACvD,QAAI,OAAO,gBAAgB,QAAQ,UAAU,MAAM;AACnD,QAAI,UAAU,gBAAgB,QAAQ,UAAU,SAAS;AACzD,WAAO,MAAM,gBAAgB,KAAK,MAAM,OAAO;AAC/C,QAAI,SAAS;AACT,aAAO,UAAU;AAAA,QACb,gBAAgB,QAAQ,SAAS,KAAK,CAAC,IAAI;AAAA,QAC3C,gBAAgB,QAAQ,SAAS,KAAK,CAAC,IAAI;AAAA,QAC3C,gBAAgB,QAAQ,SAAS,KAAK,CAAC,IAAI;AAAA,QAC3C,gBAAgB,QAAQ,SAAS,KAAK,CAAC,IAAI;AAAA,MAC3D;AAAA,IACQ;AACA,QAAI,OAAO,gBAAgB,QAAQ,MAAM,MAAM;AAC/C,QAAI,OAAO,gBAAgB,QAAQ,MAAM,MAAM;AAC/C,WAAO,SAAS,UAAU,IAAI;AAC9B,QAAI,MAAM;AACN,aAAO,WAAW,gBAAgB,QAAQ,MAAM,OAAO,CAAC,IAAI;AAC5D,eAAS,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC1C,gBAAQ,EAAE,WAAS;AAAA,UACf,KAAK;AACD,mBAAO,SAAS,OAAO,IAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,GAAG;AAC9E,mBAAO,SAAS,QAAQ,IAAI,gBAAgB,WAAW,GAAG,MAAM,YAAY,GAAG;AAC/E;AAAA,UACJ,KAAK;AACD,mBAAO,SAAS,MAAM,IAAI,gBAAgB,WAAW,GAAG,KAAK,YAAY,GAAG;AAC5E,mBAAO,SAAS,KAAK,IAAI,gBAAgB,WAAW,GAAG,KAAK,YAAY,GAAG;AAC3E;AAAA,QACxB;AAAA,MACY;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,WAAW,MAAM;AACb,QAAI,SAAS,EAAE,MAAM,QAAQ,OAAO,UAAU,GAAE;AAChD,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,cAAc,CAAC,CAAC;AAC1C;AAAA,QACJ,KAAK;AACD,iBAAO,UAAU,KAAK,kBAAkB,CAAC;AACzC;AAAA,QACJ,KAAK;AACD,eAAK,qBAAqB,GAAG,MAAM;AACnC;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,MAAM;AACpB,QAAI,SAAS,CAAA;AACb,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,KAAK,EAAE,OAAO,gBAAgB,WAAW,GAAG,GAAG,GAAG;AACzD;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,qBAAqB,MAAM,OAAO;AAC9B,UAAM,WAAW,CAAA;AACjB,UAAM,YAAY,CAAA;AAClB,SAAK,uBAAuB,MAAM,MAAM,UAAU,MAAM,WAAW,OAAK;AACpE,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,gBAAM,YAAY,gBAAgB,KAAK,GAAG,KAAK;AAC/C;AAAA,QACJ,KAAK;AACD,gBAAM,YAAY,OAAO,mBAAmB,CAAC;AAC7C;AAAA,QACJ,KAAK;AACD,eAAK,mBAAmB,GAAG,KAAK;AAChC;AAAA,QACJ,KAAK;AACD,gBAAM,cAAc,gBAAgB,QAAQ,GAAG,KAAK;AACpD;AAAA,QACJ,KAAK;AACD,gBAAM,cAAc,gBAAgB,QAAQ,GAAG,KAAK;AACpD;AAAA,QACJ,KAAK;AACD,gBAAM,SAAS,SAAS,IAAI;AAC5B;AAAA,QACJ;AACI,iBAAO;AAAA,MAC3B;AACY,aAAO;AAAA,IACX,CAAC;AACD,YAAQ,MAAM,SAAS,YAAY,GAAC;AAAA,MAChC,KAAK;AACD,eAAO,MAAM,SAAS,YAAY;AAClC,cAAM,SAAS,aAAa,IAAI;AAChC,cAAM,SAAS,cAAc,IAAI;AACjC;AAAA,MACJ,KAAK;AACD,eAAO,MAAM,SAAS,YAAY;AAClC,cAAM,SAAS,aAAa,IAAI;AAChC;AAAA,IAChB;AAAA,EACI;AAAA,EACA,mBAAmB,MAAM,OAAO;AAC5B,QAAI,cAAc,gBAAgB,WAAW,MAAM,aAAa;AAChE,QAAI,iBAAiB,gBAAgB,WAAW,MAAM,gBAAgB;AACtE,QAAI,gBAAgB,gBAAgB,WAAW,MAAM,eAAe;AACpE,QAAI,eAAe,gBAAgB,WAAW,MAAM,cAAc;AAClE,UAAM,SAAS,OAAO,IAAI;AAC1B,UAAM,SAAS,eAAe,IAAI,OAAO,QAAQ,MAAM,SAAS,eAAe,GAAG,cAAc;AAChG,UAAM,SAAS,aAAa,IAAI,OAAO,QAAQ,MAAM,SAAS,aAAa,GAAG,YAAY;AAC1F,UAAM,SAAS,cAAc,IAAI,OAAO,QAAQ,MAAM,SAAS,cAAc,GAAG,aAAa;AAC7F,UAAM,SAAS,YAAY,IAAI,OAAO,QAAQ,MAAM,SAAS,YAAY,GAAG,WAAW;AAAA,EAC3F;AAAA,EACA,cAAc,MAAM;AAChB,QAAI,SAAS,EAAE,MAAM,QAAQ,KAAK,UAAU,GAAE;AAC9C,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,eAAe,CAAC,CAAC;AAC3C;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,eAAK,wBAAwB,GAAG,MAAM;AACtC;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,wBAAwB,MAAM,KAAK;AAC/B,QAAI,WAAW,KAAK,uBAAuB,MAAM,CAAA,GAAI,MAAM,OAAK;AAC5D,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,cAAI,YAAY,OAAO,oBAAoB,CAAC;AAC5C;AAAA,QACJ,KAAK;AACD,cAAI,WAAW,gBAAgB,SAAS,GAAG,KAAK;AAChD;AAAA,QACJ,KAAK;AACD,cAAI,aAAa,gBAAgB,QAAQ,GAAG,KAAK;AACjD;AAAA,QACJ,KAAK;AACD,cAAI,YAAY,gBAAgB,QAAQ,GAAG,KAAK;AAChD;AAAA,QACJ;AACI,iBAAO;AAAA,MAC3B;AACY,aAAO;AAAA,IACX,CAAC;AAAA,EACL;AAAA,EACA,eAAe,MAAM;AACjB,QAAI,SAAS,EAAE,MAAM,QAAQ,MAAM,UAAU,GAAE;AAC/C,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,WAAW,CAAC,CAAC;AACvC;AAAA,QACJ,KAAK;AACD,iBAAO,SAAS,KAAK,KAAK,eAAe,CAAC,CAAC;AAC3C;AAAA,QACJ,KAAK;AACD,eAAK,yBAAyB,GAAG,MAAM;AACvC;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,yBAAyB,MAAM,MAAM;AACjC,SAAK,WAAW,KAAK,uBAAuB,MAAM,CAAA,GAAI,MAAM,OAAK;AAC7D,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,eAAK,OAAO,gBAAgB,QAAQ,GAAG,OAAO,IAAI;AAClD;AAAA,QACJ,KAAK;AACD,eAAK,gBAAgB,gBAAgB,KAAK,GAAG,KAAK,KAAK;AACvD;AAAA,QACJ,KAAK;AACD,eAAK,YAAY,OAAO,oBAAoB,CAAC;AAC7C;AAAA,QACJ;AACI,iBAAO;AAAA,MAC3B;AACY,aAAO;AAAA,IACX,CAAC;AACD,SAAK,2BAA2B,MAAM,IAAI;AAAA,EAC9C;AAAA,EACA,2BAA2B,MAAM,MAAM;AACnC,UAAM,eAAe;AAAA,MACjB,QAAQ;AAAA,QACJ,aAAa;AAAA,QACb,WAAW;AAAA,MAC3B;AAAA,MACY,QAAQ;AAAA,QACJ,aAAa;AAAA,QACb,WAAW;AAAA,MAC3B;AAAA,MACY,QAAQ;AAAA,QACJ,aAAa;AAAA,QACb,WAAW;AAAA,MAC3B;AAAA,IACA;AACQ,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,UAAI,EAAE,cAAc,iBAAiB;AACjC,cAAM,YAAY,gBAAgB,KAAK,GAAG,KAAK;AAC/C,cAAM,QAAQ,aAAa,SAAS,KAAK,EAAE,aAAa,gBAAe;AACvE,aAAK,SAAS,cAAc,IAAI,MAAM;AACtC,aAAK,SAAS,WAAW,IAAI,MAAM;AAAA,MACvC;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,uBAAuB,MAAM,QAAQ,MAAM,aAAa,MAAM,UAAU,MAAM;AAC1E,YAAQ,SAAS,CAAA;AACjB,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,UAAI,mCAAU;AACV;AACJ,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,gBAAM,YAAY,IAAI,OAAO,UAAU,CAAC;AACxC;AAAA,QACJ,KAAK;AACD,gBAAM,gBAAgB,IAAI,OAAO,qBAAqB,CAAC;AACvD;AAAA,QACJ,KAAK;AACD,gBAAM,OAAO,IAAI,QAAQ,UAAU,GAAG,OAAO,MAAM,MAAM,KAAK;AAC9D;AAAA,QACJ,KAAK;AACD,gBAAM,WAAW,IAAI,MAAM,YAAY,IAAI,gBAAgB,WAAW,GAAG,OAAO,YAAY,QAAQ;AACpG;AAAA,QACJ,KAAK;AACD,gBAAM,kBAAkB,IAAI,QAAQ,UAAU,GAAG,QAAQ,MAAM,MAAM,GAAG;AACxE;AAAA,QACJ,KAAK;AACD,gBAAM,kBAAkB,IAAI,QAAQ,UAAU,GAAG,OAAO,MAAM,MAAM,SAAS;AAC7E;AAAA,QACJ,KAAK;AACD;AAAA,QACJ,KAAK;AACD,gBAAM,gBAAgB,gBAAgB,WAAW,GAAG,OAAO,YAAY,QAAQ;AAC/E;AAAA,QACJ,KAAK;AACD,cAAI,KAAK,QAAQ;AACb;AAAA,QACR,KAAK;AACD,gBAAM,OAAO,IAAI,OAAO,YAAY,GAAG,GAAG;AAC1C;AAAA,QACJ,KAAK;AACD,eAAK,cAAc,GAAG,KAAK;AAC3B;AAAA,QACJ,KAAK;AACD,gBAAM,iBAAiB,IAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI,IAAI,iBAAiB;AACvF;AAAA,QACJ,KAAK;AACD,gBAAM,aAAa,IAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI,IAAI,SAAS;AAC3E;AAAA,QACJ,KAAK;AACD,gBAAM,YAAY,IAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI,IAAI,WAAW;AAC5E;AAAA,QACJ,KAAK;AACD,gBAAM,gBAAgB,IAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI,IAAI,cAAc;AACnF;AAAA,QACJ,KAAK;AACD,gBAAM,cAAc,IAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI,IAAI,eAAe;AAClF;AAAA,QACJ,KAAK;AACD,eAAK,eAAe,GAAG,KAAK;AAC5B;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,eAAK,iBAAiB,GAAG,KAAK;AAC9B;AAAA,QACJ,KAAK;AACD,eAAK,UAAU,GAAG,KAAK;AACvB;AAAA,QACJ,KAAK;AACD,eAAK,sBAAsB,GAAG,cAAc,KAAK;AACjD;AAAA,QACJ,KAAK;AACD,gBAAM,gBAAgB,IAAI,OAAO,cAAc,CAAC;AAChD,gBAAM,iBAAiB,IAAI;AAC3B;AAAA,QACJ,KAAK;AACD,eAAK,sBAAsB,GAAG,KAAK;AACnC;AAAA,QACJ,KAAK;AACD,gBAAM,QAAQ,IAAI,OAAO,cAAc,CAAC;AACxC;AAAA,QACJ,KAAK;AACD,eAAK,sBAAsB,GAAG,KAAK;AACnC;AAAA,QACJ,KAAK;AACD,cAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI;AACvC,kBAAM,SAAS,IAAI;AACvB;AAAA,QACJ,KAAK;AACD;AAAA,QACJ,KAAK;AACD;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,eAAK,sBAAsB,GAAG,cAAc,KAAK;AACjD;AAAA,QACJ,KAAK;AACD,gBAAM,cAAc,IAAI,OAAO,iBAAiB,CAAC;AACjD;AAAA,QACJ,KAAK;AACD,gBAAM,gBAAgB,IAAI,OAAO,qBAAqB,CAAC;AACvD;AAAA,QACJ,KAAK;AACD,cAAI,KAAK,aAAa;AAClB,iBAAK,aAAa,GAAG,KAAK;AAC9B;AAAA,QACJ,KAAK;AACD,cAAI,gBAAgB,SAAS,GAAG,KAAK;AACjC,kBAAM,eAAe,IAAI;AAC7B;AAAA,QACJ,KAAK;AACD,gBAAM,SAAS,IAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI,IAAI,SAAS;AACvE;AAAA,QACJ,KAAK;AACD,gBAAM,OAAO,IAAI,gBAAgB,KAAK,GAAG,KAAK;AAC9C;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,cAAI,gBAAgB,SAAS,GAAG,OAAO,IAAI;AACvC,kBAAM,WAAW,IAAI;AACzB;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD;AAAA,QACJ;AACI,cAAI,KAAK,QAAQ;AACb,oBAAQ,KAAK,mCAAmC,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE;AACnF;AAAA,MACpB;AAAA,IACQ;AACA,WAAO;AAAA,EACX;AAAA,EACA,eAAe,MAAM,OAAO;AACxB,QAAI,MAAM,gBAAgB,KAAK,MAAM,KAAK;AAC1C,QAAI,OAAO;AACP;AACJ,YAAQ,KAAG;AAAA,MACP,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,MACJ,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,MACJ,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,MACJ,KAAK;AACD,cAAM,iBAAiB,IAAI;AAC3B;AAAA,IAChB;AACQ,QAAI,MAAM,QAAQ,UAAU,MAAM,OAAO;AACzC,QAAI;AACA,YAAM,uBAAuB,IAAI;AAAA,EACzC;AAAA,EACA,UAAU,MAAM,OAAO;AACnB,QAAI,QAAQ,gBAAgB,KAAK,MAAM,OAAO;AAC9C,QAAI,aAAa,OAAO,WAAW,MAAM,YAAY;AACrD,QAAI,WAAW,gBAAgB,KAAK,MAAM,UAAU;AACpD,QAAI,QAAQ,CAAC,OAAO,YAAY,QAAQ,EAAE,OAAO,OAAK,CAAC,EAAE,IAAI,OAAK,kBAAkB,CAAC,CAAC;AACtF,QAAI,MAAM,SAAS;AACf,YAAM,aAAa,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;AAAA,EAC5D;AAAA,EACA,iBAAiB,MAAM,OAAO;AAC1B,QAAI,YAAY,gBAAgB,WAAW,MAAM,WAAW;AAC5D,QAAI,UAAU,gBAAgB,WAAW,MAAM,SAAS;AACxD,QAAI,OAAO,gBAAgB,WAAW,MAAM,MAAM;AAClD,QAAI,QAAQ,gBAAgB,WAAW,MAAM,OAAO;AACpD,QAAI,QAAQ,gBAAgB,WAAW,MAAM,OAAO;AACpD,QAAI,MAAM,gBAAgB,WAAW,MAAM,KAAK;AAChD,QAAI;AACA,YAAM,aAAa,IAAI;AAC3B,QAAI;AACA,YAAM,aAAa,IAAI,IAAI,OAAO;AACtC,QAAI,QAAQ;AACR,YAAM,qBAAqB,IAAI,QAAQ;AAC3C,QAAI,SAAS;AACT,YAAM,mBAAmB,IAAI,SAAS;AAAA,EAC9C;AAAA,EACA,aAAa,MAAM,OAAO;AACtB,QAAI,SAAS,gBAAgB,WAAW,MAAM,QAAQ;AACtD,QAAI,QAAQ,gBAAgB,WAAW,MAAM,OAAO;AACpD,QAAI,OAAO,gBAAgB,QAAQ,MAAM,QAAQ,IAAI;AACrD,QAAI,WAAW,gBAAgB,KAAK,MAAM,UAAU;AACpD,QAAI;AACA,YAAM,YAAY,IAAI;AAC1B,QAAI;AACA,YAAM,eAAe,IAAI;AAC7B,QAAI,SAAS,MAAM;AACf,cAAQ,UAAQ;AAAA,QACZ,KAAK;AACD,gBAAM,aAAa,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;AACjD;AAAA,QACJ,KAAK;AACD,gBAAM,aAAa,IAAI,eAAe,OAAO,EAAE;AAC/C;AAAA,QACJ;AACI,gBAAM,aAAa,IAAI,MAAM,YAAY,IAAI,GAAG,OAAO,EAAE;AACzD;AAAA,MACpB;AAAA,IACQ;AAAA,EACJ;AAAA,EACA,sBAAsB,MAAM,QAAQ;AAChC,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AACD,iBAAO,cAAc,IAAI,OAAO,cAAc,CAAC;AAC/C;AAAA,QACJ,KAAK;AACD,iBAAO,eAAe,IAAI,OAAO,cAAc,CAAC;AAChD;AAAA,QACJ,KAAK;AACD,iBAAO,aAAa,IAAI,OAAO,cAAc,CAAC;AAC9C;AAAA,QACJ,KAAK;AACD,iBAAO,gBAAgB,IAAI,OAAO,cAAc,CAAC;AACjD;AAAA,MACpB;AAAA,IACQ;AAAA,EACJ;AAAA,EACA,cAAc,MAAM,QAAQ;AACxB,YAAQ,gBAAgB,KAAK,MAAM,OAAO,GAAC;AAAA,MACvC,KAAK;AACD,eAAO,QAAQ,IAAI,gBAAgB,WAAW,MAAM,KAAK;AACzD;AAAA,MACJ,KAAK;AAAA,MACL;AACI,eAAO,QAAQ,IAAI,gBAAgB,WAAW,MAAM,KAAK;AACzD;AAAA,IAChB;AAAA,EACI;AAAA,EACA,sBAAsB,MAAM,QAAQ;AAChC,eAAW,KAAK,gBAAgB,SAAS,IAAI,GAAG;AAC5C,cAAQ,EAAE,WAAS;AAAA,QACf,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,aAAa,IAAI,OAAO,cAAc,CAAC;AAC9C;AAAA,QACJ,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,cAAc,IAAI,OAAO,cAAc,CAAC;AAC/C;AAAA,QACJ,KAAK;AACD,iBAAO,YAAY,IAAI,OAAO,cAAc,CAAC;AAC7C;AAAA,QACJ,KAAK;AACD,iBAAO,eAAe,IAAI,OAAO,cAAc,CAAC;AAChD;AAAA,MACpB;AAAA,IACQ;AAAA,EACJ;AACJ;AACA,MAAM,cAAc,CAAC,SAAS,QAAQ,QAAQ,YAAY,YAAY,YAAY,aAAa,eAAe,WAAW,cAAc,SAAS,aAAa,WAAW,QAAQ,OAAO,SAAS,QAAQ;AACxM,MAAM,QAAQ;AAAA,EACV,OAAO,UAAU,MAAM,UAAU,WAAW,MAAM,YAAY,SAAS;AACnE,QAAI,IAAI,gBAAgB,KAAK,MAAM,QAAQ;AAC3C,QAAI,GAAG;AACH,UAAI,KAAK,QAAQ;AACb,eAAO;AAAA,MACX,WACS,YAAY,SAAS,CAAC,GAAG;AAC9B,eAAO;AAAA,MACX;AACA,aAAO,IAAI,CAAC;AAAA,IAChB;AACA,QAAI,aAAa,gBAAgB,KAAK,MAAM,YAAY;AACxD,WAAO,aAAa,cAAc,UAAU,YAAY;AAAA,EAC5D;AACJ;AACA,MAAM,OAAO;AAAA,EACT,OAAO,WAAW,GAAG,MAAM;AACvB,QAAI,MAAM,gBAAgB,KAAK,GAAG,IAAI;AACtC,WAAO,MAAM,cAAc,GAAG,WAAW;AAAA,EAC7C;AAAA,EACA,OAAO,YAAY,GAAG,MAAM;AACxB,QAAI,OAAO,YAAY;AACvB,YAAQ,gBAAgB,KAAK,GAAG,MAAM,GAAC;AAAA,MACnC,KAAK;AAAO;AAAA,MACZ,KAAK;AACD,eAAO,YAAY;AACnB;AAAA,MACJ,KAAK;AAAQ,eAAO;AAAA,IAChC;AACQ,WAAO,gBAAgB,WAAW,GAAG,MAAM,IAAI;AAAA,EACnD;AAAA,EACA,OAAO,cAAc,GAAG;AACpB,WAAO,gBAAgB,WAAW,GAAG,GAAG;AAAA,EAC5C;AAAA,EACA,OAAO,cAAc,GAAG;AACpB,QAAI,OAAO,OAAO,gBAAgB,gBAAgB,KAAK,GAAG,KAAK,CAAC;AAChE,QAAI,QAAQ;AACR,aAAO;AACX,QAAI,QAAQ,QAAQ,UAAU,GAAG,OAAO;AACxC,QAAI,OAAO,gBAAgB,WAAW,GAAG,MAAM,YAAY,MAAM;AACjE,WAAO,GAAG,IAAI,IAAI,IAAI,IAAI,SAAS,SAAS,MAAM,cAAc,KAAK;AAAA,EACzE;AAAA,EACA,OAAO,gBAAgB,MAAM;AACzB,YAAQ,MAAI;AAAA,MACR,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAkB,eAAO;AAAA,MAC9B,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAgB,eAAO;AAAA,MAC5B,KAAK;AAAW,eAAO;AAAA,MACvB,KAAK;AAAc,eAAO;AAAA,MAC1B,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAc,eAAO;AAAA,MAC1B,KAAK;AAAS,eAAO;AAAA,MACrB,KAAK;AAAO,eAAO;AAAA,MACnB,KAAK;AAAQ,eAAO;AAAA,MACpB,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAS,eAAO;AAAA,MACrB,KAAK;AAAqB,eAAO;AAAA,MACjC,KAAK;AAAsB,eAAO;AAAA,MAClC,KAAK;AAAqB,eAAO;AAAA,MACjC,KAAK;AAAqB,eAAO;AAAA,MACjC,KAAK;AAAsB,eAAO;AAAA,MAClC,KAAK;AAAqB,eAAO;AAAA,MACjC,KAAK;AAAyB,eAAO;AAAA,MACrC,KAAK;AAA0B,eAAO;AAAA,MACtC,KAAK;AAAyB,eAAO;AAAA,MACrC,KAAK;AAAgB,eAAO;AAAA,MAC5B,KAAK;AAAiB,eAAO;AAAA,MAC7B,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAQ,eAAO;AAAA,IAChC;AACQ,WAAO;AAAA,EACX;AAAA,EACA,OAAO,iBAAiB,GAAG;AACvB,QAAI,OAAO,gBAAgB,KAAK,GAAG,KAAK;AACxC,WAAO,QAAQ,UAAU,UAAU;AAAA,EACvC;AAAA,EACA,OAAO,oBAAoB,GAAG;AAC1B,UAAM,MAAM,gBAAgB,KAAK,GAAG,KAAK;AACzC,UAAM,UAAU;AAAA,MACZ;AAAA,MAAa;AAAA,MAAY;AAAA,MAAa;AAAA,MACtC;AAAA,MAAW;AAAA,MAAY;AAAA,MAAW;AAAA,MAClC;AAAA,MAAW;AAAA,MAAW;AAAA,MAAW;AAAA,IAC7C;AACQ,QAAI;AACA,aAAO,QAAQ,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,GAAG;AAC3D,UAAM,QAAQ;AAAA,MACV;AAAA,MAAY;AAAA,MAAW;AAAA,MAAe;AAAA,MACtC;AAAA,MAAY;AAAA,MAAa;AAAA,MAAY;AAAA,MACrC;AAAA,MAAsB;AAAA,MAAuB;AAAA,MAAqB;AAAA,IAC9E;AACQ,WAAO,QAAQ,OAAO,CAAC,GAAG,MAAM,gBAAgB,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG;AAAA,EACnF;AAAA,EACA,OAAO,UAAU,GAAG;AAChB,QAAI,OAAO,gBAAgB,KAAK,GAAG,KAAK;AACxC,YAAQ,MAAI;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAQ,eAAO;AAAA,MACpB,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAA,MACL,KAAK;AAAS,eAAO;AAAA,MACrB,KAAK;AAAQ,eAAO;AAAA,IAChC;AACQ,WAAO;AAAA,EACX;AAAA,EACA,OAAO,iBAAiB,GAAG,YAAY,OAAO;AAC1C,QAAI,OAAO,gBAAgB,KAAK,GAAG,KAAK;AACxC,YAAQ,MAAI;AAAA,MACR,KAAK;AAAa,eAAO;AAAA,MACzB,KAAK;AAAe,eAAO,YAAY,QAAQ;AAAA,IAC3D;AACQ,WAAO,YAAY,OAAO;AAAA,EAC9B;AAAA,EACA,OAAO,qBAAqB,GAAG;AAC3B,QAAI,OAAO,gBAAgB,KAAK,GAAG,KAAK;AACxC,YAAQ,MAAI;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAY,eAAO;AAAA,MACxB,KAAK;AAAO,eAAO;AAAA,MACnB,KAAK;AAAU,eAAO;AAAA,MACtB,KAAK;AAAU,eAAO;AAAA,IAClC;AACQ,WAAO;AAAA,EACX;AAAA,EACA,OAAO,QAAQ,GAAG,GAAG;AACjB,QAAI,KAAK;AACL,aAAO;AACX,QAAI,KAAK;AACL,aAAO;AACX,WAAO,QAAQ,CAAC,MAAM,CAAC;AAAA,EAC3B;AAAA,EACA,OAAO,mBAAmB,GAAG;AACzB,UAAM,MAAM,gBAAgB,QAAQ,GAAG,OAAO,CAAC;AAC/C,QAAI,YAAY;AAChB,QAAI,gBAAgB,SAAS,GAAG,UAAU,KAAM,MAAM;AAClD,mBAAa;AACjB,QAAI,gBAAgB,SAAS,GAAG,SAAS,KAAM,MAAM;AACjD,mBAAa;AACjB,QAAI,gBAAgB,SAAS,GAAG,aAAa,KAAM,MAAM;AACrD,mBAAa;AACjB,QAAI,gBAAgB,SAAS,GAAG,YAAY,KAAM,MAAM;AACpD,mBAAa;AACjB,QAAI,gBAAgB,SAAS,GAAG,SAAS,KAAM,MAAM;AACjD,mBAAa;AACjB,QAAI,gBAAgB,SAAS,GAAG,SAAS,KAAM,MAAM;AACjD,mBAAa;AACjB,WAAO,UAAU,KAAI;AAAA,EACzB;AACJ;AAEA,MAAM,aAAa,EAAE,KAAK,GAAG,QAAQ,QAAQ,OAAO,OAAM;AAC1D,MAAM,UAAU;AAChB,SAAS,oBAAoB,YAAY,SAAS,MAAM;AACpD,QAAM,OAAO,SAAS,cAAc,KAAK;AACzC,OAAK,MAAM,QAAQ;AACnB,YAAU,YAAY,IAAI;AAC1B,QAAM,SAAS,MAAM,KAAK;AAC1B,YAAU,YAAY,IAAI;AAC1B,SAAO;AACX;AACA,SAAS,cAAc,MAAM,MAAM,gBAAgB,eAAe,KAAK,IAAI;AACvE,QAAM,IAAI,KAAK,QAAQ,GAAG;AAC1B,QAAM,MAAM,KAAK,sBAAqB;AACtC,QAAM,MAAM,EAAE,sBAAqB;AACnC,QAAM,MAAM,iBAAiB,CAAC;AAC9B,QAAM,YAAW,6BAAM,UAAS,IAAI,KAAK,IAAI,QAAM;AAAA,IAC/C,KAAK,cAAc,EAAE,QAAQ;AAAA,IAC7B,QAAQ,EAAE;AAAA,IACV,OAAO,EAAE;AAAA,EACjB,EAAM,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU;AAC/C,QAAM,UAAU,SAAS,SAAS,SAAS,CAAC;AAC5C,QAAM,WAAW,IAAI,QAAQ;AAC7B,QAAM,OAAO,cAAc,cAAc;AACzC,MAAI,MAAM,QAAQ,MAAM;AACxB,MAAI,MAAM,UAAU;AAChB,WAAO,MAAM,YAAY,SAAS,SAAS,SAAS,OAAO,MAAM;AAC7D,eAAS,KAAK,EAAE,GAAG,YAAY,IAAQ,CAAE;AAAA,IAC7C;AAAA,EACJ;AACA,QAAM,aAAa,WAAW,IAAI,UAAU;AAC5C,QAAM,UAAU,IAAI,OAAO;AAC3B,QAAM,QAAQ,IAAI,OAAO,WAAW;AACpC,QAAM,MAAM,SAAS,KAAK,OAAK,EAAE,SAAS,WAAW,EAAE,MAAM,IAAI;AACjE,MAAI,OAAO;AACP;AACJ,MAAI,QAAQ;AACZ,MAAI,IAAI,SAAS,WAAW,IAAI,SAAS,UAAU;AAC/C,UAAMC,YAAW,MAAM,KAAK,EAAE,iBAAiB,IAAI,KAAK,SAAS,EAAE,CAAC;AACpE,UAAM,UAAUA,UAAS,QAAQ,IAAI,IAAI;AACzC,UAAM,QAAQ,SAAS,YAAW;AAClC,UAAM,SAAS,MAAM,CAAC;AACtB,QAAI,UAAUA,UAAS,QAAQ;AAC3B,YAAM,aAAaA,UAAS,OAAO,CAAC;AAAA,IACxC,OACK;AACD,YAAM,YAAY,CAAC;AAAA,IACvB;AACA,UAAM,MAAM,IAAI,SAAS,WAAW,MAAM;AAC1C,UAAM,SAAS,MAAM,sBAAqB;AAC1C,UAAM,SAAS,OAAO,OAAO,MAAM,OAAO,SAAS,IAAI,OAAO;AAC9D,YAAQ,IAAI,MAAM,SAAS;AAAA,EAC/B,OACK;AACD,YAAQ,IAAI,MAAM;AAAA,EACtB;AACA,OAAK,YAAY;AACjB,OAAK,MAAM,iBAAiB;AAC5B,OAAK,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,CAAC;AAC5C,UAAQ,IAAI,QAAM;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AACD,WAAK,MAAM,iBAAiB;AAC5B,WAAK,MAAM,sBAAsB;AACjC;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACD,WAAK,MAAM,iBAAiB;AAC5B;AAAA,EACZ;AACA;AACA,SAAS,cAAc,QAAQ;AAC3B,SAAO,WAAW,MAAM;AAC5B;AAEA,IAAI;AAAA,CACH,SAAUC,KAAI;AACX,EAAAA,IAAG,MAAM,IAAI;AACb,EAAAA,IAAG,KAAK,IAAI;AACZ,EAAAA,IAAG,QAAQ,IAAI;AACnB,GAAG,OAAO,KAAK,CAAA,EAAG;AAClB,SAAS,EAAE,MAAM;AACb,MAAI,SAAS,IAAI;AACb,WAAO,SAAS,eAAe,IAAI;AACvC,MAAI,gBAAgB;AAChB,WAAO;AACX,QAAM,EAAE,IAAAA,KAAI,SAAS,WAAW,OAAO,UAAU,GAAG,MAAK,IAAK;AAC9D,MAAI,YAAY;AACZ,WAAO,SAAS,uBAAsB;AAC1C,MAAI,YAAY;AACZ,WAAO,SAAS,cAAc,SAAS,CAAC,CAAC;AAC7C,QAAM,SAAUA,MAAK,SAAS,gBAAgBA,KAAI,OAAO,IAAI,SAAS,cAAc,OAAO;AAC3F,MAAI;AACA,WAAO,aAAa,SAAS,SAAS;AAC1C,MAAI,OAAO;AACP,QAAI,SAAS,KAAK,GAAG;AACjB,aAAO,aAAa,SAAS,KAAK;AAAA,IACtC,OACK;AACD,aAAO,OAAO,OAAO,OAAO,KAAK;AAAA,IACrC;AAAA,EACJ;AACA,MAAI,OAAO;AACP,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK;AAC3C,UAAI,UAAU;AACV,eAAO,GAAG,IAAI;AAAA,EAC1B;AACA,MAAI;AACA,aAAS,QAAQ,OAAK,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC;AAClD,SAAO;AACX;AACA,SAAS,MAAM,YAAY;AACvB,SAAO,WAAW,OAAO,OAAO,EAAE,KAAK,GAAG;AAC9C;AAEA,MAAM,aAAa;AAAA,EACf,cAAc;AACV,SAAK,YAAY;AACjB,SAAK,WAAW,CAAA;AAChB,SAAK,cAAc;AACnB,SAAK,sBAAsB,CAAA;AAC3B,SAAK,uBAAuB;AAC5B,SAAK,qBAAqB,CAAA;AAC1B,SAAK,sBAAsB;AAC3B,SAAK,cAAc,CAAA;AACnB,SAAK,aAAa,CAAA;AAClB,SAAK,oBAAoB,CAAA;AACzB,SAAK,uBAAuB,CAAA;AAC5B,SAAK,cAAc,CAAA;AACnB,SAAK,aAAa,CAAA;AAClB,SAAK,QAAQ,CAAA;AACb,SAAK,kBAAkB,CAAA;AACvB,SAAK,IAAI;AAAA,EACb;AAAA,EACA,MAAM,OAAOC,WAAU,SAAS;;AAC5B,SAAK,WAAWA;AAChB,SAAK,UAAU;AACf,SAAK,YAAY,QAAQ;AACzB,SAAK,eAAe,QAAQ,YAAY,IAAI,KAAK,SAAS,aAAa;AACvE,SAAK,IAAI,QAAQ,KAAK;AACtB,SAAK,WAAW;AAChB,SAAK,QAAQ,CAAA;AACb,QAAI,KAAK,QAAQ,kBAAkB,WAAW,WAAW;AACrD,WAAK,mBAAmB,IAAI,UAAS;AAAA,IACzC;AACA,UAAM,SAAS,CAAC,GAAG,KAAK,mBAAkB,CAAE;AAC5C,QAAIA,UAAS,WAAW;AACpB,aAAO,KAAK,GAAG,KAAK,YAAYA,UAAS,SAAS,CAAC;AAAA,IACvD;AACA,QAAIA,UAAS,cAAc,MAAM;AAC7B,WAAK,WAAW,KAAK,cAAcA,UAAS,WAAW,MAAM;AAC7D,aAAO,KAAK,GAAG,KAAK,aAAaA,UAAS,WAAW,MAAM,CAAC;AAAA,IAChE;AACA,QAAIA,UAAS,eAAe;AACxB,WAAK,kBAAkBA,UAAS,cAAc,aAAa;AAC3D,aAAO,KAAK,GAAG,MAAM,KAAK,gBAAgBA,UAAS,cAAc,aAAa,CAAC;AAAA,IACnF;AACA,QAAIA,UAAS,eAAe;AACxB,WAAK,cAAc,MAAMA,UAAS,cAAc,OAAO,OAAK,EAAE,EAAE;AAAA,IACpE;AACA,QAAIA,UAAS,cAAc;AACvB,WAAK,aAAa,MAAMA,UAAS,aAAa,OAAO,OAAK,EAAE,EAAE;AAAA,IAClE;AACA,QAAIA,UAAS,cAAc;AACvB,WAAK,kBAAiB,KAAAA,UAAS,aAAa,aAAtB,mBAAgC;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,eAAeA,UAAS;AACjC,aAAO,KAAK,GAAG,MAAM,KAAK,gBAAgBA,UAAS,aAAa,CAAC;AACrE,QAAI,kBAAkB,KAAK,eAAeA,UAAS,aAAa,IAAI;AACpE,QAAI,KAAK,QAAQ,WAAW;AACxB,aAAO,KAAK,KAAK,cAAc,eAAe,CAAC;AAAA,IACnD,OACK;AACD,aAAO,KAAK,GAAG,eAAe;AAAA,IAClC;AACA,QAAI,KAAK,oBAAoB,QAAQ,gBAAgB;AACjD,UAAI,WAAW,IAAI,GAAG,KAAK,SAAS,aAAa,KAAK,gBAAgB;AAAA,IAC1E;AACA,SAAK,gBAAgB,QAAQ,OAAK,EAAC,CAAE;AACrC,UAAM,QAAQ,WAAW,KAAK,KAAK;AACnC,SAAK,gBAAe;AACpB,WAAO;AAAA,EACX;AAAA,EACA,YAAY,WAAW;;AACnB,UAAM,YAAY,CAAA;AAClB,UAAM,cAAa,eAAU,UAAV,mBAAiB;AACpC,QAAI,YAAY;AACZ,UAAI,WAAW,WAAW;AACtB,kBAAU,wBAAwB,IAAI,WAAW,UAAU;AAAA,MAC/D;AACA,UAAI,WAAW,WAAW;AACtB,kBAAU,wBAAwB,IAAI,WAAW,UAAU;AAAA,MAC/D;AAAA,IACJ;AACA,UAAM,eAAc,eAAU,UAAV,mBAAiB;AACrC,QAAI,aAAa;AACb,eAAS,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,YAAY,MAAM,GAAG;AACnD,kBAAU,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC;AAAA,MAC1C;AAAA,IACJ;AACA,UAAM,UAAU,KAAK,cAAc,IAAI,KAAK,SAAS,IAAI,SAAS;AAClE,WAAO;AAAA,MACH,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,8BAA8B,GAAG;AAAA,MAC1E,KAAK,EAAE,EAAE,SAAS,SAAS,UAAU,CAAC,OAAO,EAAC,CAAE;AAAA,IAC5D;AAAA,EACI;AAAA,EACA,MAAM,gBAAgB,WAAW;AAC7B,UAAM,SAAS,CAAA;AACf,aAAS,KAAK,UAAU,OAAO;AAC3B,eAAS,OAAO,EAAE,eAAe;AAC7B,YAAI;AACA,gBAAM,WAAW,MAAM,KAAK,SAAS,SAAS,IAAI,IAAI,IAAI,GAAG;AAC7D,gBAAM,YAAY;AAAA,YACd,eAAe,kBAAkB,EAAE,IAAI;AAAA,YACvC,OAAO,OAAO,QAAQ;AAAA,UAC9C;AACoB,cAAI,IAAI,QAAQ,UAAU,IAAI,QAAQ,cAAc;AAChD,sBAAU,aAAa,IAAI;AAAA,UAC/B;AACA,cAAI,IAAI,QAAQ,YAAY,IAAI,QAAQ,cAAc;AAClD,sBAAU,YAAY,IAAI;AAAA,UAC9B;AACA,iBAAO,KAAK,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,UAAU,EAAE,IAAI,OAAO,EAAC,CAAE,CAAC;AAChF,iBAAO,KAAK,KAAK,EAAE,EAAE,SAAS,SAAS,UAAU,CAAC,KAAK,cAAc,cAAc,SAAS,CAAC,EAAC,CAAE,CAAC;AAAA,QACrG,SACO,GAAG;AACN,cAAI,KAAK,QAAQ;AACb,oBAAQ,KAAK,2BAA2B,IAAI,EAAE,YAAY,IAAI,GAAG,EAAE;AAAA,QAC3E;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,WAAW;AACxB,WAAO,YAAY,GAAG,KAAK,SAAS,IAAI,gBAAgB,SAAS,CAAC,KAAK,KAAK;AAAA,EAChF;AAAA,EACA,cAAc,QAAQ;AAClB,UAAM,YAAY,MAAM,OAAO,OAAO,OAAK,EAAE,MAAM,IAAI,GAAG,OAAK,EAAE,EAAE;AACnE,eAAW,SAAS,OAAO,OAAO,OAAK,EAAE,OAAO,GAAG;AAC/C,UAAI,YAAY,UAAU,MAAM,OAAO;AACvC,UAAI,WAAW;AACX,cAAM,iBAAiB,UAAU,MAAM,gBAAgB,UAAU,cAAc;AAC/E,cAAM,WAAW,UAAU,MAAM,UAAU,UAAU,QAAQ;AAC7D,mBAAW,cAAc,UAAU,QAAQ;AACvC,gBAAM,cAAc,MAAM,OAAO,KAAK,OAAK,EAAE,UAAU,WAAW,MAAM;AACxE,cAAI,aAAa;AACb,iBAAK,oBAAoB,WAAW,QAAQ,YAAY,MAAM;AAAA,UAClE,OACK;AACD,kBAAM,OAAO,KAAK,EAAE,GAAG,YAAY,QAAQ,EAAE,GAAG,WAAW,OAAM,GAAI;AAAA,UACzE;AAAA,QACJ;AAAA,MACJ,WACS,KAAK,QAAQ;AAClB,gBAAQ,KAAK,yBAAyB,MAAM,OAAO,EAAE;AAAA,IAC7D;AACA,aAAS,SAAS,QAAQ;AACtB,YAAM,UAAU,KAAK,iBAAiB,MAAM,EAAE;AAAA,IAClD;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,YAAY;;AAC1B,aAAS,OAAO,WAAW,OAAO,OAAK,EAAE,UAAU,GAAG;AAClD,YAAM,QAAQ,KAAK,UAAU,IAAI,UAAU;AAC3C,WAAI,oCAAO,mBAAP,mBAAuB,WAAW;AAClC,cAAM,eAAe,UAAU,QAAQ,IAAI;AAAA,MAC/C;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,eAAe,SAAS;AACpB,QAAI,QAAQ,UAAU;AAClB,eAAS,KAAK,QAAQ,UAAU;AAC5B,UAAE,SAAS;AACX,YAAI,EAAE,QAAQ,QAAQ,OAAO;AACzB,eAAK,aAAa,CAAC;AAAA,QACvB,OACK;AACD,eAAK,eAAe,CAAC;AAAA,QACzB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,aAAa,OAAO;AAChB,aAAS,KAAK,MAAM,UAAU;AAC1B,eAAS,KAAK,EAAE,UAAU;AACtB,UAAE,WAAW,KAAK,oBAAoB,MAAM,WAAW,EAAE,UAAU;AAAA,UAC/D;AAAA,UAAe;AAAA,UAAgB;AAAA,UAAc;AAAA,UAC7C;AAAA,UAAgB;AAAA,UAAiB;AAAA,UAAe;AAAA,QACpE,CAAiB;AACD,aAAK,eAAe,CAAC;AAAA,MACzB;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,oBAAoB,OAAO,QAAQ,QAAQ,MAAM;AAC7C,QAAI,CAAC;AACD,aAAO;AACX,QAAI,UAAU;AACV,eAAS,CAAA;AACb,QAAI,SAAS;AACT,cAAQ,OAAO,oBAAoB,KAAK;AAC5C,aAAS,OAAO,OAAO;AACnB,UAAI,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,GAAG;AACvD,eAAO,GAAG,IAAI,MAAM,GAAG;AAAA,IAC/B;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,WAAW,OAAO,UAAU;AAC1C,UAAM,QAAQ,EAAE,GAAG,SAAQ;AAC3B,QAAI,OAAO;AACP,UAAI,MAAM,aAAa;AACnB,cAAM,cAAc,MAAM,YAAY;AACtC,cAAM,eAAe,MAAM,YAAY;AACvC,cAAM,aAAa,MAAM,YAAY;AACrC,cAAM,gBAAgB,MAAM,YAAY;AAAA,MAC5C;AACA,UAAI,MAAM,UAAU;AAChB,YAAI,CAAC,KAAK,QAAQ;AACd,gBAAM,QAAQ,MAAM,SAAS;AACjC,YAAI,CAAC,KAAK,QAAQ;AACd,gBAAM,YAAY,MAAM,SAAS;AAAA,MACzC;AAAA,IACJ;AACA,WAAO,KAAK,EAAE,EAAE,SAAS,WAAW,WAAW,OAAO;AAAA,EAC1D;AAAA,EACA,qBAAqB,OAAO;AACxB,UAAM,QAAQ,CAAA;AACd,QAAI,MAAM,WAAW,MAAM,QAAQ,iBAAiB;AAChD,YAAM,cAAc,GAAG,MAAM,QAAQ,eAAe;AACpD,YAAM,YAAY,MAAM,QAAQ;AAChC,UAAI,MAAM,QAAQ,WAAW;AACzB,cAAM,aAAa;AAAA,MACvB;AAAA,IACJ;AACA,WAAO,KAAK,EAAE,EAAE,SAAS,WAAW,MAAK,CAAE;AAAA,EAC/C;AAAA,EACA,eAAeA,WAAU;AACrB,UAAM,SAAS,CAAA;AACf,SAAK,eAAeA,SAAQ;AAC5B,UAAM,WAAW,KAAK,eAAeA,UAAS,UAAUA,UAAS,KAAK;AACtE,UAAM,QAAQ,KAAK,kBAAkB,QAAQ;AAC7C,QAAI,YAAY;AAChB,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,IAAI,GAAG,KAAK;AAC1C,WAAK,qBAAqB,CAAA;AAC1B,YAAM,UAAU,MAAM,CAAC,EAAE,CAAC;AAC1B,UAAI,QAAQ,QAAQ;AACpB,YAAM,cAAc,KAAK,kBAAkB,KAAK,WAAW,OAAOA,UAAS,QAAQ;AACnF,WAAK,QAAQ,iBAAiB,KAAK,mBAAmB,MAAM,YAAY,OAAO,OAAO,QAAQ,aAAa,OAAO,WAAW;AAC7H,iBAAW,QAAQ,MAAM,CAAC,GAAG;AACzB,YAAI,iBAAiB,KAAK,qBAAqB,KAAK,SAAS;AAC7D,aAAK,eAAe,KAAK,UAAU,cAAc;AACjD,oBAAY,YAAY,cAAc;AACtC,gBAAQ,KAAK;AAAA,MACjB;AACA,UAAI,KAAK,QAAQ,iBAAiB;AAC9B,cAAM,QAAQ,KAAK,YAAY,KAAK,oBAAoB,KAAK,WAAW;AACxE,iBAAS,YAAY,YAAY,KAAK;AAAA,MAC1C;AACA,UAAI,KAAK,QAAQ,kBAAkB,KAAK,IAAI,GAAG;AAC3C,cAAM,QAAQ,KAAK,YAAY,KAAK,mBAAmB,KAAK,UAAU;AACtE,iBAAS,YAAY,YAAY,KAAK;AAAA,MAC1C;AACA,WAAK,QAAQ,iBAAiB,KAAK,mBAAmB,MAAM,YAAY,OAAO,OAAO,QAAQ,aAAa,OAAO,WAAW;AAC7H,aAAO,KAAK,WAAW;AACvB,kBAAY;AAAA,IAChB;AACA,WAAO;AAAA,EACX;AAAA,EACA,mBAAmB,MAAM,OAAO,MAAM,gBAAgB,MAAM;AACxD,QAAI,CAAC;AACD;AACJ,QAAI,OAAO,MAAM,aAAa,iBAAiB,KAAK,KAAK,OAAK,EAAE,QAAQ,OAAO,IAAI,UAC3E,OAAO,KAAK,IAAI,KAAK,KAAK,OAAK,EAAE,QAAQ,MAAM,IAAI,SACpD,KAAK,KAAK,OAAK,EAAE,QAAQ,SAAS;AACzC,QAAI,OAAO,OAAO,KAAK,SAAS,gBAAgB,IAAI,IAAI,KAAK,SAAS,YAAY;AAClF,QAAI,MAAM;AACN,WAAK,cAAc;AACnB,UAAI,CAAC,KAAK,qBAAqB,SAAS,KAAK,IAAI,GAAG;AAChD,aAAK,eAAe,KAAK,WAAW;AACpC,aAAK,qBAAqB,KAAK,KAAK,IAAI;AAAA,MAC5C;AACA,YAAM,CAAC,EAAE,IAAI,KAAK,eAAe,CAAC,KAAK,WAAW,GAAG,IAAI;AACzD,UAAI,+BAAO,aAAa;AACpB,YAAI,KAAK,YAAY,SAAS,QAAQ,QAAQ;AAC1C,aAAG,MAAM,YAAY,QAAQ,MAAM,YAAY,MAAM,MAAM,MAAM,YAAY,GAAG;AAChF,aAAG,MAAM,YAAY,QAAQ,MAAM,YAAY,GAAG,MAAM,MAAM,YAAY,MAAM;AAAA,QACpF,WACS,KAAK,YAAY,SAAS,QAAQ,QAAQ;AAC/C,aAAG,MAAM,eAAe,QAAQ,MAAM,YAAY,MAAM,MAAM,MAAM,YAAY,MAAM;AACtF,aAAG,MAAM,YAAY,QAAQ,MAAM,YAAY,MAAM,MAAM,MAAM,YAAY,MAAM;AAAA,QACvF;AAAA,MACJ;AACA,WAAK,cAAc;AAAA,IACvB;AAAA,EACJ;AAAA,EACA,mBAAmB,MAAM;AACrB,QAAI,KAAK,QAAQ,QAAQ;AACrB,aAAO;AACX,QAAI,KAAK,SAAS;AACd,aAAO,CAAC,KAAK,QAAQ;AACzB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EACA,mBAAmB,MAAM,MAAM;;AAC3B,QAAI,CAAC;AACD,aAAO;AACX,QAAI,CAAC;AACD,aAAO;AACX,aAAO,UAAK,aAAL,mBAAe,kBAAe,UAAK,aAAL,mBAAe,kBAC7C,UAAK,aAAL,mBAAe,YAAS,UAAK,aAAL,mBAAe,YACvC,UAAK,aAAL,mBAAe,aAAU,UAAK,aAAL,mBAAe;AAAA,EACnD;AAAA,EACA,eAAe,UAAU,cAAc;;AACnC,QAAI,UAAU,EAAE,WAAW,MAAM,UAAU,CAAA,GAAI,WAAW,MAAK;AAC/D,QAAI,SAAS,CAAC,OAAO;AACrB,aAAS,QAAQ,UAAU;AACvB,UAAI,KAAK,QAAQ,QAAQ,WAAW;AAChC,cAAM,IAAI,KAAK,UAAU,KAAK,SAAS;AACvC,aAAI,4BAAG,mBAAH,mBAAmB,iBAAiB;AACpC,kBAAQ,YAAY;AACpB,kBAAQ,YAAY;AACpB,oBAAU,EAAE,WAAW,MAAM,UAAU,CAAA,GAAI,WAAW,MAAK;AAC3D,iBAAO,KAAK,OAAO;AAAA,QACvB;AAAA,MACJ;AACA,cAAQ,SAAS,KAAK,IAAI;AAC1B,UAAI,KAAK,QAAQ,QAAQ,WAAW;AAChC,cAAM,IAAI;AACV,YAAI,YAAY,EAAE;AAClB,YAAI,cAAc;AAClB,YAAI,cAAc;AAClB,YAAI,KAAK,QAAQ,cAAc,EAAE,UAAU;AACvC,wBAAc,EAAE,SAAS,UAAU,OAAK;;AACpC,4BAAcC,MAAA,EAAE,aAAF,gBAAAA,IAAY,UAAU,KAAK,mBAAmB,KAAK,IAAI,OAAM;AAC3E,mBAAO,eAAe;AAAA,UAC1B,CAAC;AAAA,QACL;AACA,YAAI,aAAa,eAAe,IAAI;AAChC,kBAAQ,YAAY;AACpB,kBAAQ,YAAY,eAAe;AACnC,oBAAU,EAAE,WAAW,MAAM,UAAU,CAAA,GAAI,WAAW,MAAK;AAC3D,iBAAO,KAAK,OAAO;AAAA,QACvB;AACA,YAAI,eAAe,IAAI;AACnB,cAAI,WAAW,EAAE,SAAS,WAAW;AACrC,cAAI,WAAW,cAAc,SAAS,SAAS,SAAS;AACxD,cAAI,cAAc,EAAE,SAAS,SAAS,KAAK,UAAU;AACjD,gBAAI,WAAW,KAAK;AACpB,gBAAI,eAAe,EAAE,GAAG,MAAM,UAAU,SAAS,MAAM,WAAW,EAAC;AACnE,iBAAK,WAAW,SAAS,MAAM,GAAG,WAAW;AAC7C,oBAAQ,SAAS,KAAK,YAAY;AAClC,gBAAI,UAAU;AACV,kBAAI,cAAc,SAAS;AAC3B,kBAAI,SAAS,EAAE,GAAG,UAAU,UAAU,YAAY,MAAM,GAAG,WAAW,EAAC;AACvE,mBAAK,SAAS,KAAK,MAAM;AACzB,uBAAS,WAAW,YAAY,MAAM,WAAW;AAAA,YACrD;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AACA,QAAI,mBAAmB;AACvB,aAAS,IAAI,OAAO,SAAS,GAAG,KAAK,GAAG,KAAK;AACzC,UAAI,OAAO,CAAC,EAAE,aAAa,MAAM;AAC7B,eAAO,CAAC,EAAE,YAAY,oBAAoB;AAAA,MAC9C,OACK;AACD,2BAAmB,OAAO,CAAC,EAAE;AAAA,MACjC;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,kBAAkB,UAAU;AACxB,QAAI,UAAU,CAAA;AACd,QAAI;AACJ,UAAM,SAAS,CAAC,OAAO;AACvB,aAAS,KAAK,UAAU;AACpB,cAAQ,KAAK,CAAC;AACd,UAAI,KAAK,QAAQ,+BAA+B,EAAE,aAAa,KAAK,mBAAmB,MAAM,EAAE,SAAS;AACpG,eAAO,KAAK,UAAU,EAAE;AAC5B,aAAO,EAAE;AAAA,IACb;AACA,WAAO,OAAO,OAAO,OAAK,EAAE,SAAS,CAAC;AAAA,EAC1C;AAAA,EACA,cAAc,UAAU;AACpB,WAAO,KAAK,EAAE,EAAE,SAAS,OAAO,WAAW,GAAG,KAAK,SAAS,YAAY,SAAQ,CAAE;AAAA,EACtF;AAAA,EACA,qBAAqB;AACjB,QAAI,IAAI,KAAK;AACb,QAAI,eAAe;AAAA,GACxB,CAAC;AAAA,GACD,CAAC,oBAAoB,CAAC;AACjB,QAAI,KAAK,QAAQ,oBAAoB;AACjC,qBAAe,sBAAsB,YAAY;AAAA,IACrD;AACA,QAAI,YAAY,GAAG,YAAY;AAAA,GACpC,CAAC;AAAA,UACM,CAAC;AAAA,UACD,CAAC;AAAA,UACD,CAAC;AAAA,GACR,CAAC;AAAA,GACD,CAAC,eAAe,CAAC;AAAA,GACjB,CAAC;AAAA,GACD,CAAC;AAAA,GACD,CAAC;AAAA,GACD,CAAC;AAAA;AAEI,QAAI,KAAK,QAAQ,gBAAgB;AAC7B,mBAAa;AAAA,GACtB,CAAC;AAAA,GACD,CAAC;AAAA,GACD,CAAC,uBAAuB,CAAC;AAAA,GACzB,CAAC,oBAAoB,CAAC;AAAA;AAAA,IAEjB;AACA,WAAO;AAAA,MACH,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,kCAAkC,GAAG;AAAA,MAC9E,KAAK,EAAE,EAAE,SAAS,SAAS,UAAU,CAAC,SAAS,EAAC,CAAE;AAAA,IAC9D;AAAA,EACI;AAAA,EACA,MAAM,gBAAgB,YAAY;AAC9B,QAAI,YAAY;AAChB,QAAI,gBAAgB,CAAA;AACpB,aAAS,OAAO,YAAY;AACxB,UAAI,WAAW,KAAK,KAAK,eAAe,IAAI,IAAI,IAAI,KAAK,CAAC;AAC1D,UAAI,gBAAgB;AACpB,UAAI,IAAI,QAAQ;AACZ,YAAI,WAAW,KAAK,KAAK,SAAS,IAAI,IAAI,OAAO,GAAG,GAAG,YAAW;AAClE,qBAAa,KAAK,cAAc,GAAG,QAAQ,WAAW;AAAA,UAClD,WAAW;AAAA,UACX,WAAW;AAAA,UACX,cAAc,OAAO,QAAQ;AAAA,QACjD,GAAmB,IAAI,OAAO,KAAK;AACnB,YAAI;AACA,gBAAM,UAAU,MAAM,KAAK,SAAS,mBAAmB,IAAI,OAAO,GAAG;AACrE,uBAAa,GAAG,KAAK,YAAY,MAAM,QAAQ,SAAS,OAAO;AAAA,QACnE,SACO,GAAG;AACN,cAAI,KAAK,QAAQ;AACb,oBAAQ,KAAK,uCAAuC,IAAI,OAAO,GAAG,EAAE;AAAA,QAC5E;AAAA,MACJ,WACS,IAAI,WAAW;AACpB,YAAI,UAAU,KAAK,iBAAiB,IAAI,IAAI,IAAI,KAAK;AACrD,cAAM,eAAe,UAAU,OAAO,IAAI,QAAQ;AAClD,YAAI,IAAI,QAAQ,GAAG;AACf,uBAAa,KAAK,cAAc,KAAK,KAAK,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC,IAAI;AAAA,YAC/E,eAAe;AAAA,UACvC,CAAqB;AAAA,QACL;AACA,sBAAc,KAAK,YAAY;AAC/B,qBAAa,KAAK,cAAc,GAAG,QAAQ,WAAW;AAAA,UAClD,WAAW,KAAK,mBAAmB,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,KAAK,oBAAoB,IAAI,MAAM,CAAC;AAAA,UACxG,qBAAqB;AAAA,UACrB,GAAG,IAAI;AAAA,QAC3B,CAAiB;AAAA,MACL,OACK;AACD,wBAAgB,KAAK,oBAAoB,IAAI,MAAM;AAAA,MACvD;AACA,mBAAa,KAAK,cAAc,UAAU;AAAA,QACtC,WAAW;AAAA,QACX,uBAAuB;AAAA,QACvB,mBAAmB;AAAA,QACnB,GAAG,IAAI;AAAA,MACvB,CAAa;AAAA,IACL;AACA,QAAI,cAAc,SAAS,GAAG;AAC1B,mBAAa,KAAK,cAAc,KAAK,cAAc;AAAA,QAC/C,iBAAiB,cAAc,KAAK,GAAG;AAAA,MACvD,CAAa;AAAA,IACL;AACA,WAAO;AAAA,MACH,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,kCAAkC,GAAG;AAAA,MAC9E,KAAK,EAAE,EAAE,SAAS,SAAS,UAAU,CAAC,SAAS,EAAC,CAAE;AAAA,IAC9D;AAAA,EACI;AAAA,EACA,aAAa,QAAQ;AACjB,QAAI,YAAY;AAChB,UAAM,YAAY,KAAK;AACvB,UAAM,eAAe,MAAM,OAAO,OAAO,OAAK,EAAE,SAAS,GAAG,OAAK,EAAE,MAAM;AACzE,eAAW,SAAS,QAAQ;AACxB,UAAI,YAAY,MAAM;AACtB,UAAI,MAAM,QAAQ;AACd,YAAI,cAAc,MAAM,UAAU,UAAU,MAAM,MAAM;AACxD,YAAI;AACA,sBAAY,UAAU,OAAO,YAAY,MAAM;AAAA,iBAC1C,KAAK,QAAQ;AAClB,kBAAQ,KAAK,2BAA2B,MAAM,MAAM,EAAE;AAAA,MAC9D;AACA,iBAAW,YAAY,WAAW;AAC9B,YAAI,WAAW,GAAG,MAAM,UAAU,EAAE,IAAI,MAAM,OAAO;AACrD,YAAI,MAAM,UAAU,SAAS;AACzB,sBAAY,IAAI,SAAS,MAAM;AACnC,YAAI,aAAa,MAAM,MAAM,KAAK;AAC9B,qBAAW,IAAI,KAAK,SAAS,IAAI,MAAM,MAAM,OAAO;AACxD,qBAAa,KAAK,cAAc,UAAU,SAAS,MAAM;AAAA,MAC7D;AAAA,IACJ;AACA,WAAO;AAAA,MACH,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,wBAAwB,GAAG;AAAA,MACpE,KAAK,EAAE,EAAE,SAAS,SAAS,UAAU,CAAC,SAAS,EAAC,CAAE;AAAA,IAC9D;AAAA,EACI;AAAA,EACA,YAAY,SAAS,UAAU;AAC3B,QAAI,QAAQ,QAAQ,IAAI,QAAM,SAAS,EAAE,CAAC,EAAE,OAAO,OAAK,CAAC;AACzD,QAAI,MAAM,SAAS,GAAG;AAClB,aAAO,KAAK,EAAE,EAAE,SAAS,MAAM,UAAU,KAAK,eAAe,KAAK,GAAG;AAAA,IACzE;AAAA,EACJ;AAAA,EACA,cAAc,MAAM;AAChB,YAAQ,KAAK,MAAI;AAAA,MACb,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,IAAI;AAAA,MACpC,KAAK,QAAQ;AACT,eAAO,KAAK,oBAAoB,IAAI;AAAA,MACxC,KAAK,QAAQ;AACT,eAAO;AAAA,MACX,KAAK,QAAQ;AACT,eAAO,KAAK,UAAU,IAAI;AAAA,MAC9B,KAAK,QAAQ;AACT,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,KAAK,QAAQ;AACT,eAAO,KAAK,eAAe,IAAI;AAAA,MACnC,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,IAAI;AAAA,MACpC,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,IAAI;AAAA,MACpC,KAAK,QAAQ;AACT,eAAO,KAAK,eAAe,IAAI;AAAA,MACnC,KAAK,QAAQ;AACT,eAAO,KAAK,cAAc,IAAI;AAAA,MAClC,KAAK,QAAQ;AACT,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,KAAK,QAAQ;AACT,eAAO,KAAK,WAAW,IAAI;AAAA,MAC/B,KAAK,QAAQ;AACT,eAAO,KAAK,WAAW,IAAI;AAAA,MAC/B,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,IAAI;AAAA,MACtC,KAAK,QAAQ;AACT,eAAO,KAAK,UAAU,IAAI;AAAA,MAC9B,KAAK,QAAQ;AACT,eAAO,KAAK,aAAa,IAAI;AAAA,MACjC,KAAK,QAAQ;AACT,eAAO,KAAK,YAAY,IAAI;AAAA,MAChC,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,MAAM,QAAQ;AAAA,MAC9C,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,MAAM,QAAQ;AAAA,MAC9C,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,MAAM,IAAI;AAAA,MAC1C,KAAK,QAAQ;AACT,eAAO,KAAK,wBAAwB,IAAI;AAAA,MAC5C,KAAK,QAAQ;AACT,eAAO,KAAK,uBAAuB,IAAI;AAAA,MAC3C,KAAK,QAAQ;AACT,eAAO,KAAK,EAAE,EAAE,SAAS,MAAK,CAAE;AAAA,MACpC,KAAK,QAAQ;AACT,eAAO,KAAK,iBAAiB,IAAI;AAAA,MACrC,KAAK,QAAQ;AACT,eAAO,KAAK,iBAAiB,IAAI;AAAA,MACrC,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,QAAQ,EAAE,OAAO,GAAG,QAAQ;AAAA,MAC/E,KAAK,QAAQ;AACT,eAAO,KAAK,gBAAgB,MAAM,MAAM;AAAA,MAC5C,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,OAAO;AAAA,MAC1D,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,KAAK,OAAO,QAAQ,QAAQ,eAAe,QAAQ,MAAM;AAAA,MAC5G,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,MAAM;AAAA,MACzD,KAAK,QAAQ;AACT,eAAO,KAAK,mBAAmB,IAAI;AAAA,MACvC,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,QAAQ;AAAA,MAC3D,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,QAAQ;AAAA,MAC3D,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,KAAK;AAAA,MACxD,KAAK,QAAQ;AACT,eAAO,KAAK,iBAAiB,IAAI;AAAA,MACrC,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,MAAM;AAAA,MACzD,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,MAAM;AAAA,MACzD,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,IAAI;AAAA,MACvD,KAAK,QAAQ;AACT,eAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,IAAI;AAAA,MACvD,KAAK,QAAQ;AACT,eAAO,KAAK,mBAAmB,IAAI;AAAA,MACvC,KAAK,QAAQ;AACT,eAAO,KAAK,aAAa,IAAI;AAAA,MACjC,KAAK,QAAQ;AACT,eAAO,KAAK,cAAc,IAAI;AAAA,MAClC,KAAK,QAAQ;AACT,eAAO,KAAK,qBAAqB,IAAI;AAAA,MACzC,KAAK,QAAQ;AACT,eAAO,KAAK,aAAa,IAAI;AAAA,MACjC,KAAK,QAAQ;AACT,eAAO,KAAK,cAAc,IAAI;AAAA,MAClC,KAAK,QAAQ;AACT,eAAO,KAAK,eAAe,IAAI;AAAA,MACnC,KAAK,QAAQ;AACT,eAAO,KAAK,cAAc,IAAI;AAAA,MAClC,KAAK,QAAQ;AACT,eAAO,KAAK,wBAAwB,IAAI;AAAA,MAC5C,KAAK,QAAQ;AACT,eAAO,KAAK,sBAAsB,IAAI;AAAA,MAC1C,KAAK,QAAQ;AACT,eAAO,KAAK,uBAAuB,IAAI;AAAA,MAC3C,KAAK,QAAQ;AACT,eAAO,KAAK,eAAe,IAAI;AAAA,IAC/C;AACQ,WAAO;AAAA,EACX;AAAA,EACA,eAAe,OAAO,MAAM;AACxB,QAAI,SAAS;AACT,aAAO;AACX,QAAI,SAAS,MAAM,QAAQ,OAAK,KAAK,cAAc,CAAC,CAAC,EAAE,OAAO,OAAK,KAAK,IAAI;AAC5E,QAAI;AACA,aAAO,QAAQ,OAAK,KAAK,YAAY,SAAS,CAAC,IAAI,SAAS,eAAe,CAAC,IAAI,CAAC,CAAC;AACtF,WAAO;AAAA,EACX;AAAA,EACA,gBAAgB,MAAM,SAAS,OAAO;AAClC,WAAO,KAAK,EAAE,EAAE,SAAS,UAAU,KAAK,eAAe,KAAK,QAAQ,GAAG,GAAG,MAAK,CAAE;AAAA,EACrF;AAAA,EACA,kBAAkB,MAAMF,KAAI,SAAS,OAAO;AACxC,WAAO,KAAK,EAAE,EAAE,IAAAA,KAAI,SAAS,UAAU,KAAK,eAAe,KAAK,QAAQ,GAAG,GAAG,MAAK,CAAE;AAAA,EACzF;AAAA,EACA,gBAAgB,MAAM;;AAClB,QAAI,SAAS,KAAK,OAAO,MAAM,GAAG,MAAM,GAAG;AAC3C,UAAM,QAAQ,KAAK,UAAU,KAAK,SAAS;AAC3C,SAAK,SAAS,KAAK,QAAO,oCAAO,mBAAP,mBAAuB;AACjD,UAAM,YAAY,KAAK,eAAa,oCAAO,mBAAP,mBAAuB;AAC3D,QAAI,WAAW;AACX,aAAO,UAAU,IAAI,KAAK,eAAe,UAAU,IAAI,UAAU,KAAK,CAAC;AAAA,IAC3E;AACA,WAAO;AAAA,EACX;AAAA,EACA,gBAAgB,MAAM;AAClB,UAAM,MAAM,KAAK,IAAI,MAAM,GAAG,MAAM,GAAG;AACvC,QAAI,OAAO;AACX,QAAI,KAAK,IAAI;AACT,YAAM,MAAM,KAAK,SAAS,aAAa,KAAK,KAAK,QAAM,GAAG,MAAM,KAAK,MAAM,GAAG,eAAe,UAAU;AACvG,UAAI,QAAO,2BAAK,WAAU,IAAI;AAAA,IAClC;AACA,QAAI,KAAK,QAAQ;AACb,UAAI,QAAQ,IAAI,KAAK,MAAM;AAAA,IAC/B;AACA,WAAO,KAAK,EAAE,GAAG;AAAA,EACrB;AAAA,EACA,eAAe,MAAM;AACjB,WAAO,KAAK,gBAAgB,MAAM,MAAM;AAAA,EAC5C;AAAA,EACA,wBAAwB,cAAc;;AAClC,QAAI,CAAC,KAAK,QAAQ;AACd,aAAO;AACX,UAAM,MAAM,IAAI,MAAK;AACrB,eAAK,qBAAL,mBAAuB,IAAI;AAC3B,UAAM,SAAS,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,qBAAqB,aAAa,EAAE,EAAE,EAAC,CAAE;AACjG,SAAK,MAAM,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;AACxC,SAAK,WAAW,aAAa,EAAE,IAAI;AACnC,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,YAAY;AAC9B,QAAI,CAAC,KAAK,QAAQ;AACd,aAAO;AACX,UAAM,MAAM,KAAK,WAAW,WAAW,EAAE;AACzC,UAAM,SAAS,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,mBAAmB,WAAW,EAAE,EAAE,EAAC,CAAE;AAC7F,SAAK,MAAM,MAAM,2BAAK,OAAO,QAAQ,EAAE;AACvC,WAAO;AAAA,EACX;AAAA,EACA,uBAAuB,YAAY;;AAC/B,QAAI,CAAC,KAAK,QAAQ;AACd,aAAO;AACX,QAAI,WAAU,UAAK,SAAS,iBAAd,mBAA4B,WAAW,WAAW;AAChE,QAAI,CAAC;AACD,aAAO;AACX,UAAM,eAAe,KAAK,EAAE,EAAE,SAAS,QAAQ,WAAW,GAAG,KAAK,SAAS,gBAAgB,UAAU,CAAC,IAAI,GAAG;AAC7G,UAAM,sBAAsB,KAAK,EAAE;AAAA,MAC/B,SAAS;AAAA,MAAO,WAAW,GAAG,KAAK,SAAS;AAAA,MAAoB,UAAU;AAAA,QACtE,KAAK,EAAE,EAAE,SAAS,OAAO,WAAW,GAAG,KAAK,SAAS,mBAAmB,UAAU,CAAC,QAAQ,MAAM,EAAC,CAAE;AAAA,QACpG,KAAK,EAAE,EAAE,SAAS,OAAO,WAAW,GAAG,KAAK,SAAS,iBAAiB,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,eAAc,CAAE,GAAG;AAAA,QAC3H,GAAG,KAAK,eAAe,QAAQ,QAAQ;AAAA,MACvD;AAAA,IACA,CAAS;AACD,WAAO,KAAK,EAAE,EAAE,SAAS,aAAa,UAAU;AAAA,MACxC,KAAK,EAAE,EAAE,SAAS,YAAY,UAAU,CAAC,YAAY,QAAQ,EAAE,OAAO,QAAQ,MAAM,OAAO,QAAQ,IAAI,EAAE,GAAG;AAAA,MAC5G;AAAA,MACA;AAAA,IAChB,GAAe;AAAA,EACX;AAAA,EACA,eAAe,MAAM;AACjB,QAAI,CAAC,KAAK,QAAQ;AACd,aAAO;AACX,QAAI,SAAS,KAAK,EAAE,EAAE,SAAS,SAAQ,CAAE;AACzC,SAAK,MAAM,KAAK,KAAK,SAAS,aAAa,KAAK,IAAI,KAAK,WAAW,EAAE,KAAK,OAAK;AAC5E,aAAO,SAAS;AAAA,IACpB,CAAC,CAAC;AACF,WAAO;AAAA,EACX;AAAA,EACA,cAAc,MAAM;AAChB,QAAI,SAAS,KAAK,OAAO,MAAM,GAAG,MAAM,KAAK;AAC7C,WAAO,MAAM,UAAU;AACvB,WAAO,MAAM,WAAW;AACxB,WAAO,MAAM,aAAa;AAC1B,WAAO;AAAA,EACX;AAAA,EACA,YAAY,MAAM;;AACd,QAAI,SAAS,KAAK,OAAO,MAAM,GAAG,MAAM,OAAO,EAAE;AACjD,QAAI,aAAY,UAAK,aAAL,mBAAe;AAC/B,QAAI,KAAK,WAAW,KAAK,QAAQ,KAAK,OAAK,KAAK,CAAC,GAAG;AAChD,UAAI,CAAC,MAAM,KAAK,OAAO,MAAM,IAAI,KAAK;AACtC,kBAAY,SAAS,KAAK,IAAI,OAAO,MAAM,KAAK,KAAK,IAAI,MAAM,OAAO;AACtE,aAAO,MAAM,WAAW,IAAI,SAAS,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,OAAO,IAAI,QAAQ,QAAQ,CAAC,CAAC,MAAM,OAAO,IAAI,SAAS,QAAQ,CAAC,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,CAAC;AAAA,IACjK;AACA,QAAI,KAAK;AACL,kBAAY,UAAU,KAAK,QAAQ,QAAQ,aAAa,EAAE;AAC9D,WAAO,MAAM,YAAY,uCAAW;AACpC,QAAI,KAAK,UAAU;AACf,WAAK,MAAM,KAAK,KAAK,SAAS,kBAAkB,KAAK,KAAK,KAAK,WAAW,EAAE,KAAK,OAAK;AAClF,eAAO,MAAM;AAAA,MACjB,CAAC,CAAC;AAAA,IACN;AACA,WAAO;AAAA,EACX;AAAA,EACA,WAAW,MAAM;AACb,WAAO,KAAK,EAAE,KAAK,IAAI;AAAA,EAC3B;AAAA,EACA,kBAAkB,MAAM;AACpB,WAAO,KAAK,QAAQ,gBAAgB,KAAK,WAAW,IAAI,IAAI;AAAA,EAChE;AAAA,EACA,YAAY,MAAM;AACd,WAAO,KAAK,SAAS,iBAAiB,KAAK,EAAE,EAAE,SAAS,KAAI,CAAE,IAAI;AAAA,EACtE;AAAA,EACA,eAAe,MAAM;AACjB,QAAI,KAAK,QAAQ;AACb,aAAO,KAAK,aAAa,MAAM,KAAK;AACxC,WAAO,KAAK,eAAe,KAAK,QAAQ;AAAA,EAC5C;AAAA,EACA,cAAc,MAAM;AAChB,QAAI,KAAK,QAAQ;AACb,aAAO,KAAK,aAAa,MAAM,KAAK;AACxC,WAAO;AAAA,EACX;AAAA,EACA,aAAa,MAAM,KAAK;AACpB,WAAO,KAAK,gBAAgB,MAAM,KAAK;AAAA,MACnC,UAAU,KAAK;AAAA,IAC3B,CAAS;AAAA,EACL;AAAA,EACA,aAAa,MAAM;AACf,WAAO,KAAK,EAAE,EAAE,SAAS,QAAQ,UAAU,CAAC,OAAO,aAAa,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,YAAY,KAAK,KAAI,GAAI;AAAA,EACnH;AAAA,EACA,wBAAwB,MAAM;AAC1B,SAAK,mBAAmB,KAAK,KAAK,EAAE;AACpC,WAAO,KAAK,EAAE,EAAE,SAAS,OAAO,UAAU,CAAC,GAAG,KAAK,mBAAmB,MAAM,EAAE,EAAC,CAAE;AAAA,EACrF;AAAA,EACA,uBAAuB,MAAM;AACzB,SAAK,kBAAkB,KAAK,KAAK,EAAE;AACnC,WAAO,KAAK,EAAE,EAAE,SAAS,OAAO,UAAU,CAAC,GAAG,KAAK,kBAAkB,MAAM,EAAE,EAAC,CAAE;AAAA,EACpF;AAAA,EACA,UAAU,MAAM;;AACZ,QAAI,UAAU,KAAK,EAAE,EAAE,SAAS,QAAQ,UAAU,CAAC,GAAQ,GAAG;AAC9D,QAAI,KAAK,QAAQ,cAAc;AAC3B,cAAQ,YAAY,KAAK,aAAY;AACrC,UAAI,SAAQ,gBAAW,MAAM,QAAQ,SAAS,MAAlC,mBAAqC;AACjD,WAAK,YAAY,KAAK,EAAE,OAAO,MAAM,SAAS;AAAA,IAClD;AACA,WAAO;AAAA,EACX;AAAA,EACA,oBAAoB,MAAM;AACtB,WAAO,KAAK,EAAE,EAAE,SAAS,QAAQ,IAAI,KAAK,MAAM;AAAA,EACpD;AAAA,EACA,UAAU,MAAM;AACZ,QAAI,KAAK;AACL,aAAO;AACX,QAAI,WAAW,KAAK,eAAe,KAAK,QAAQ;AAChD,QAAI,KAAK,eAAe;AACpB,iBAAW,CAAC,KAAK,EAAE,EAAE,SAAS,KAAK,eAAe,UAAU,KAAK,eAAe,KAAK,QAAQ,EAAC,CAAE,CAAC;AAAA,IACrG;AACA,UAAM,SAAS,KAAK,OAAO,MAAM,GAAG,MAAM,QAAQ,QAAQ;AAC1D,QAAI,KAAK;AACL,aAAO,KAAK,KAAK;AACrB,WAAO;AAAA,EACX;AAAA,EACA,YAAY,MAAM;AACd,SAAK,mBAAmB,KAAK,KAAK,mBAAmB;AACrD,SAAK,oBAAoB,KAAK,KAAK,oBAAoB;AACvD,SAAK,uBAAuB,CAAA;AAC5B,SAAK,sBAAsB,EAAE,KAAK,GAAG,KAAK,EAAC;AAC3C,UAAM,WAAW,CAAA;AACjB,QAAI,KAAK;AACL,eAAS,KAAK,KAAK,mBAAmB,KAAK,OAAO,CAAC;AACvD,aAAS,KAAK,GAAG,KAAK,eAAe,KAAK,QAAQ,CAAC;AACnD,SAAK,uBAAuB,KAAK,oBAAoB,IAAG;AACxD,SAAK,sBAAsB,KAAK,mBAAmB,IAAG;AACtD,WAAO,KAAK,OAAO,MAAM,GAAG,MAAM,SAAS,QAAQ;AAAA,EACvD;AAAA,EACA,mBAAmB,SAAS;AACxB,UAAM,WAAW,QAAQ,IAAI,OAAK,KAAK,EAAE,EAAE,SAAS,OAAO,OAAO,EAAE,OAAO,EAAE,MAAK,EAAE,CAAE,CAAC;AACvF,WAAO,KAAK,EAAE,EAAE,SAAS,YAAY,SAAQ,CAAE;AAAA,EACnD;AAAA,EACA,eAAe,MAAM;AACjB,SAAK,oBAAoB,MAAM;AAC/B,UAAM,WAAW,CAAA;AACjB,QAAI,KAAK;AACL,eAAS,KAAK,KAAK,2BAA2B,KAAK,UAAU,CAAC;AAClE,aAAS,KAAK,GAAG,KAAK,eAAe,KAAK,QAAQ,CAAC;AACnD,QAAI,KAAK;AACL,eAAS,KAAK,KAAK,2BAA2B,KAAK,SAAS,CAAC;AACjE,SAAK,oBAAoB;AACzB,WAAO,KAAK,OAAO,MAAM,GAAG,MAAM,MAAM,QAAQ;AAAA,EACpD;AAAA,EACA,2BAA2B,SAAS;AAChC,WAAO,KAAK,EAAE,EAAE,SAAS,MAAM,SAAS,OAAO,EAAE,QAAQ,OAAM,GAAI;AAAA,EACvE;AAAA,EACA,gBAAgB,MAAM;AAClB,QAAI,SAAS,KAAK,OAAO,MAAM,GAAG,MAAM,IAAI;AAC5C,UAAM,MAAM,KAAK,oBAAoB;AACrC,QAAI,KAAK,eAAe;AACpB,UAAI,KAAK,iBAAiB,WAAW;AACjC,aAAK,qBAAqB,GAAG,IAAI;AACjC,eAAO,UAAU;AAAA,MACrB,WACS,KAAK,qBAAqB,GAAG,GAAG;AACrC,aAAK,qBAAqB,GAAG,EAAE,WAAW;AAC1C,eAAO,MAAM,UAAU;AAAA,MAC3B;AAAA,IACJ,OACK;AACD,WAAK,qBAAqB,GAAG,IAAI;AAAA,IACrC;AACA,QAAI,KAAK;AACL,aAAO,UAAU,KAAK;AAC1B,SAAK,oBAAoB,OAAO,OAAO;AACvC,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,MAAM;AACnB,WAAO,KAAK,gBAAgB,MAAM,KAAK;AAAA,EAC3C;AAAA,EACA,iBAAiB,MAAM;;AACnB,QAAI,YAAY,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,SAAS,OAAO,OAAO,KAAK,aAAY,CAAE;AAC/E,UAAM,SAAS,KAAK,sBAAsB,IAAI;AAC9C,SAAI,UAAK,cAAL,mBAAgB,IAAI;AACpB,WAAK,MAAM,MAAK,UAAK,aAAL,mBAAe,kBAAkB,KAAK,UAAU,IAAI,KAAK,aACpE,KAAK,OAAK,OAAO,aAAa,QAAQ,CAAC,EAAE;AAAA,IAClD;AACA,cAAU,YAAY,MAAM;AAC5B,0BAAsB,MAAM;AACxB,YAAM,KAAK,UAAU,kBAAkB,QAAO;AAC9C,gBAAU,aAAa,SAAS,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE;AAC/D,gBAAU,aAAa,UAAU,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE;AAAA,IACrE,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,sBAAsB,MAAM;AACxB,UAAM,SAAS,KAAK,iBAAiB,KAAK,OAAO;AACjD,WAAO,QAAQ,KAAK,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,aAAa,GAAG,CAAC,CAAC;AACxE,aAAS,SAAS,KAAK,UAAU;AAC7B,UAAI,MAAM,QAAQ,QAAQ,YAAY;AAClC,eAAO,YAAY,KAAK,sBAAsB,KAAK,CAAC;AAAA,MACxD,OACK;AACD,eAAO,YAAY,GAAG,QAAQ,KAAK,cAAc,KAAK,CAAC,CAAC;AAAA,MAC5D;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EACA,iBAAiB,MAAM;;AACnB,UAAM,OAAO,KAAK,SAAS,KAAK,QAAM,GAAG,QAAQ,QAAQ,OAAO;AAChE,SAAI,UAAK,UAAL,mBAAY,YAAY;AACxB,aAAO,KAAK,oBAAoB,SAAS,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC;AAAA,IAC9E;AACA,UAAM,SAAS,KAAK,SAAS,KAAK,QAAM,GAAG,QAAQ,QAAQ,SAAS;AACpE,WAAO,KAAK,oBAAoB,SAAS,MAAM,KAAK,eAAe,CAAC,MAAM,MAAM,CAAC,CAAC;AAAA,EACtF;AAAA,EACA,mBAAmB,MAAM;AACrB,UAAM,WAAW,CAAA;AACjB,aAAS,KAAK,KAAK,oBAAoB,MAAM,MAAM,CAAC,KAAK,MAAM,aAAa,GAAG,CAAC,CAAC;AACjF,aAAS,KAAK,GAAG,KAAK,eAAe,KAAK,QAAQ,CAAC;AACnD,aAAS,KAAK,KAAK,oBAAoB,MAAM,MAAM,CAAC,KAAK,MAAM,WAAW,GAAG,CAAC,CAAC;AAC/E,WAAO,KAAK,oBAAoB,QAAQ,MAAM,QAAQ;AAAA,EAC1D;AAAA,EACA,cAAc,MAAM;;AAChB,UAAM,WAAW,CAAA;AACjB,UAAM,UAAU,MAAM,KAAK,UAAU,OAAK,EAAE,IAAI;AAChD,UAAM,MAAM,QAAQ,QAAQ,gBAAgB;AAC5C,UAAM,MAAM,QAAQ,QAAQ,cAAc;AAC1C,UAAM,UAAU,MAAM,KAAK,oBAAoB,MAAM,MAAM,QAAQ,KAAK,cAAc,GAAG,CAAC,CAAC,IAAI;AAC/F,UAAM,UAAU,MAAM,KAAK,oBAAoB,MAAM,MAAM,QAAQ,KAAK,cAAc,GAAG,CAAC,CAAC,IAAI;AAC/F,UAAM,WAAW,KAAK,oBAAoB,MAAM,MAAM,GAAC,UAAK,UAAL,mBAAY,SAAQ,GAAQ,CAAC;AACpF,QAAI,WAAW,SAAS;AACpB,eAAS,KAAK,KAAK,oBAAoB,cAAc,MAAM,CAAC,UAAU,SAAS,OAAO,CAAC,CAAC;AAAA,IAC5F,WACS,SAAS;AACd,eAAS,KAAK,KAAK,oBAAoB,SAAS,MAAM,CAAC,UAAU,OAAO,CAAC,CAAC;AAAA,IAC9E,WACS,SAAS;AACd,eAAS,KAAK,KAAK,oBAAoB,UAAU,MAAM,CAAC,UAAU,OAAO,CAAC,CAAC;AAAA,IAC/E,OACK;AACD,eAAS,KAAK,QAAQ;AAAA,IAC1B;AACA,aAAS,KAAK,GAAG,KAAK,eAAe,QAAQ,QAAQ,OAAO,EAAE,QAAQ,CAAC;AACvE,WAAO,KAAK,oBAAoB,QAAQ,MAAM,QAAQ;AAAA,EAC1D;AAAA,EACA,qBAAqB,MAAM;AACvB,UAAM,WAAW,CAAA;AACjB,UAAM,UAAU,MAAM,KAAK,UAAU,OAAK,EAAE,IAAI;AAChD,UAAM,MAAM,QAAQ,QAAQ,gBAAgB;AAC5C,UAAM,MAAM,QAAQ,QAAQ,cAAc;AAC1C,UAAM,UAAU,MAAM,KAAK,oBAAoB,MAAM,MAAM,QAAQ,KAAK,cAAc,GAAG,CAAC,CAAC,IAAI;AAC/F,UAAM,UAAU,MAAM,KAAK,oBAAoB,MAAM,MAAM,QAAQ,KAAK,cAAc,GAAG,CAAC,CAAC,IAAI;AAC/F,UAAM,WAAW,KAAK,oBAAoB,MAAM,IAAI;AACpD,aAAS,KAAK,KAAK,oBAAoB,WAAW,MAAM,CAAC,UAAU,SAAS,OAAO,CAAC,CAAC;AACrF,aAAS,KAAK,GAAG,KAAK,eAAe,QAAQ,QAAQ,OAAO,EAAE,QAAQ,CAAC;AACvE,WAAO,KAAK,oBAAoB,QAAQ,MAAM,QAAQ;AAAA,EAC1D;AAAA,EACA,mBAAmB,MAAM;AACrB,UAAM,UAAU,KAAK,MAAM,0BAA0B,QAAQ,UAAU;AACvE,UAAM,SAAS,KAAK,kBAAkB,MAAM,GAAG,QAAQ,OAAO;AAC9D,QAAI,KAAK,MAAM,MAAM;AACjB,aAAO,YAAY,KAAK,oBAAoB,MAAM,MAAM,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC;AAAA,IAC9E;AACA,WAAO;AAAA,EACX;AAAA,EACA,aAAa,MAAM;AACf,UAAM,QAAQ,CAAA;AACd,YAAQ,KAAK,MAAM,UAAQ;AAAA,MACvB,KAAK;AACD,cAAM,iBAAiB;AACvB;AAAA,MACJ,KAAK;AACD,cAAM,iBAAiB;AACvB;AAAA,IAChB;AACQ,WAAO,KAAK,kBAAkB,MAAM,GAAG,QAAQ,QAAQ,EAAE,OAAO;AAAA,EACpE;AAAA,EACA,aAAa,MAAM;AACf,WAAO,KAAK,OAAO,MAAM,GAAG,QAAQ,IAAI;AAAA,EAC5C;AAAA,EACA,cAAc,MAAM;AAChB,UAAM,WAAW,KAAK,eAAe,KAAK,QAAQ,EAAE,IAAI,OAAK,KAAK,oBAAoB,OAAO,MAAM;AAAA,MAC/F,KAAK,oBAAoB,OAAO,MAAM,CAAC,CAAC,CAAC;AAAA,IACrD,CAAS,CAAC;AACF,WAAO,KAAK,OAAO,MAAM,GAAG,QAAQ,UAAU,QAAQ;AAAA,EAC1D;AAAA,EACA,IAAI,MAAMA,KAAI,SAAS,WAAW,MAAM;AACpC,UAAM,EAAE,SAAS,MAAM,GAAG,MAAK,IAAK,KAAK,YAAY,CAAA;AACrD,UAAM,YAAY,GAAG,KAAK,WAAW,KAAK,aAAa,KAAK,iBAAiB,KAAK,SAAS,CAAC;AAC5F,WAAO,EAAE,IAAAA,KAAI,SAAS,WAAW,MAAM,OAAO,UAAU,YAAY,KAAK,eAAe,KAAK,QAAQ,EAAC;AAAA,EAC1G;AAAA,EACA,OAAO,MAAMA,KAAI,SAAS,WAAW,MAAM;AACvC,WAAO,KAAK,EAAE,KAAK,IAAI,MAAMA,KAAI,SAAS,QAAQ,CAAC;AAAA,EACvD;AAAA,EACA,UAAU,WAAW;;AACjB,WAAO,eAAa,UAAK,aAAL,mBAAgB;AAAA,EACxC;AAAA,EACA,eAAe,IAAI,KAAK;AACpB,WAAO,GAAG,KAAK,SAAS,QAAQ,EAAE,IAAI,GAAG;AAAA,EAC7C;AAAA,EACA,eAAe;AACX,WAAO,GAAG,KAAK,SAAS;AAAA,EAC5B;AAAA,EACA,cAAc,WAAWG,SAAQ,UAAU,MAAM;AAC7C,QAAI,SAAS,GAAG,SAAS;AAAA;AACzB,eAAW,OAAOA,SAAQ;AACtB,UAAI,IAAI,WAAW,GAAG;AAClB;AACJ,gBAAU,KAAK,GAAG,KAAKA,QAAO,GAAG,CAAC;AAAA;AAAA,IACtC;AACA,QAAI;AACA,gBAAU;AACd,WAAO,SAAS;AAAA,EACpB;AAAA,EACA,iBAAiB,IAAI,KAAK;AACtB,WAAO,GAAG,KAAK,SAAS,QAAQ,EAAE,IAAI,GAAG;AAAA,EAC7C;AAAA,EACA,mBAAmB,MAAM,MAAM,IAAI,WAAW;AAC1C,UAAM,UAAU;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,IACrB;AACQ,QAAI,SAAS,KAAK,QAAQ,SAAS,OAAK;AACpC,UAAI,MAAM,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI;AACzC,aAAO,YAAY,KAAK,iBAAiB,IAAI,GAAG,CAAC,KAAK,SAAS;AAAA,IACnE,CAAC;AACD,WAAO,IAAI,MAAM,GAAG,QAAQ,IAAI,KAAK,EAAE;AAAA,EAC3C;AAAA,EACA,oBAAoB,QAAQ;AACxB,QAAI,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,yBAAyB;AAAA,MACzB,wBAAwB;AAAA,MACxB,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,sBAAsB;AAAA,MACtB,2BAA2B;AAAA,MAC3B,iBAAiB;AAAA,MACjB,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,4BAA4B;AAAA,MAC5B,eAAe;AAAA,MACf,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,2BAA2B;AAAA,MAC3B,kBAAkB;AAAA,IAC9B;AACQ,WAAO,QAAQ,MAAM,KAAK;AAAA,EAC9B;AAAA,EACA,kBAAkB;AACd,QAAI,CAAC,KAAK,QAAQ;AACd;AACJ,eAAW,MAAM;AACb,YAAM,eAAe,oBAAmB;AACxC,eAAS,OAAO,KAAK,aAAa;AAC9B,sBAAc,IAAI,MAAM,IAAI,OAAO,KAAK,gBAAgB,YAAY;AAAA,MACxE;AAAA,IACJ,GAAG,GAAG;AAAA,EACV;AAAA,EACA,gBAAgBH,KAAI,SAAS,OAAO,UAAU;AAC1C,WAAO,KAAK,EAAE,EAAE,IAAAA,KAAI,SAAS,UAAU,GAAG,OAAO;AAAA,EACrD;AAAA,EACA,cAAc,SAAS,OAAO,UAAU;AACpC,WAAO,KAAK,gBAAgB,GAAG,MAAM,SAAS,OAAO,QAAQ;AAAA,EACjE;AAAA,EACA,oBAAoB,SAAS,OAAO,UAAU;AAC1C,WAAO,KAAK,gBAAgB,GAAG,QAAQ,SAAS,OAAO,QAAQ;AAAA,EACnE;AAAA,EACA,iBAAiB,SAAS,OAAO,UAAU;AACvC,WAAO,KAAK,gBAAgB,GAAG,KAAK,SAAS,OAAO,QAAQ;AAAA,EAChE;AAAA,EACA,MAAM,MAAM;AACR,SAAK,gBAAgB,KAAK,IAAI;AAAA,EAClC;AACJ;AACA,SAAS,WAAW,MAAM,MAAM;AAC5B,MAAI,SAAS,KAAK;AAClB,SAAO,UAAU,QAAQ,OAAO,QAAQ;AACpC,aAAS,OAAO;AACpB,SAAO;AACX;AAEK,MAAC,iBAAiB;AAAA,EACnB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,cAAc;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB;AACJ;AACA,SAAS,WAAW,MAAM,aAAa;AACnC,QAAM,MAAM,EAAE,GAAG,gBAAgB,GAAG,YAAW;AAC/C,SAAO,aAAa,KAAK,MAAM,IAAI,eAAe,GAAG,GAAG,GAAG;AAC/D;AACA,eAAe,eAAeC,WAAU,aAAa;AACjD,QAAM,MAAM,EAAE,GAAG,gBAAgB,GAAG,YAAW;AAC/C,QAAM,WAAW,IAAI,aAAY;AACjC,SAAO,MAAM,SAAS,OAAOA,WAAU,GAAG;AAC9C;AACA,eAAe,YAAY,MAAM,eAAe,gBAAgB,aAAa;AACzE,QAAM,MAAM,MAAM,WAAW,MAAM,WAAW;AAC9C,QAAM,QAAQ,MAAM,eAAe,KAAK,WAAW;AACnD,qBAAmB,iBAAiB;AACpC,iBAAe,YAAY;AAC3B,gBAAc,YAAY;AAC1B,WAAS,KAAK,OAAO;AACjB,UAAM,IAAI,EAAE,aAAa,UAAU,iBAAiB;AACpD,MAAE,YAAY,CAAC;AAAA,EACnB;AACA,SAAO;AACX;","x_google_ignoreList":[0,1]}
|