diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":";;;;IA2BA,SAAS,gBAAgB,CAAC,KAAqB;QAC3C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;SAC7D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,eAAe,CAAC,KAAqB;QAC1C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;SAC7D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC9D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,gBAAgB;QACrB,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACrD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAC;SAC1D;IACL,CAAC;IAED,SAAS,0BAA0B,CAAC,KAAU,CAAC,kBAAkB;QAC7D,OAAO,CAAC,GAAG,CAAC,yDAAyD,EACrE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EACrC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,6BAA6B,CAAC,KAAU,CAAC,kBAAkB;QAChE,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,cAAc,CAAC,KAAiB;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;QACnB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;QAClB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACzC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC1B;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC3B;IACL,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAoB;QAC3C,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QAClC,gCAAgC;QAChC,KAAI,6BAA8B,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,eAAe,CAAC,KAAoB;QACzC,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACnC,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAoB;QAC5C,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAmB;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAWD,SAAS,qBAAqB,CAAC,KAAmB;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACpD,6BAA6B;QAC7B,8BAA8B;QAC9B,IAAI;IACR,CAAC;IACD,SAAS,qBAAqB,CAAC,KAAY;QACvC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAmB;QAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;QACrD,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,eAAe,CAAC,KAAiB;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAW,GAAG,CAAC;QACxB,QAAQ,KAAK,CAAC,SAAS,EAAE;YACrB,KAAK,KAAK,CAAC,eAAe;gBAAE,KAAK,GAAG,IAAI,CAAC;gBAAC,MAAM;YAChD,KAAK,KAAK,CAAC,cAAc;gBAAE,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM;YAC9C,KAAK,KAAK,CAAC,cAAc;gBAAE,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM;SACjD;QACD,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACtC,EAAE,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,kDAAkD;QACzF,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAgB,IAAI,CAAC,KAAmF;QACpG,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;SACnF;QAED,IAAI,OAAM,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE;YACnC,EAAE,CAAC,qBAAqB,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;SACvE;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC9D;QAED,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAc,EAAE,IAAY,EAAQ,EAAE;YAC3D,cAAc,GAAG,IAAI,CAAC;YACtB,0DAA0D;YAC1D,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAQ,SAAiB,CAAC,SAAS,KAAK,WAAW,EAAE;gBACzF,2DAA2D;gBAC1D,SAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE;oBACnE,iEAAiE;gBACrE,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC;QACF,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAc,EAAU,EAAE;YAC/C,iGAAiG;YACjG,8DAA8D;YAC9D,6EAA6E;YAC7E,iCAAiC;YACjC,wEAAwE;YACxE,UAAU;YACV,IAAI;YACJ,0DAA0D;YAC1D,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC;QACF,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE5B,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;YACxE,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;SACjF;QAED,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,IAAI,KAAK,YAAW,CAAC,iBAAiB,CAAC,EAAE;gBACrC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAClF;YACD,IAAI,KAAK,YAAW,CAAC,sBAAsB,CAAC,EAAE;gBAC1C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,gBAAA,EAAE,GAAG,KAAK,EAAC;aACd;YACD,IAAI,KAAK,YAAW,CAAC,wBAAwB,CAAC,EAAE;gBAC5C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,iBAAA,GAAG,GAAG,KAAK,EAAC;aACf;SACJ;QAED,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,gBAAgB,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,gEAAgE;YACnG,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YACxD,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SACrD;QAED,oCAAoC;QACpC,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAG,kDAAkD;QAE3G,sFAAsF;QACtF,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACrC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC9B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAE5B,mBAAmB,EAAE,CAAC;IAC1B,CAAC;;IAED,SAAgB,QAAQ;QACpB,oBAAoB,EAAE,CAAC;QAEvB,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC3D,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SACxD;QAED,gBAAA,EAAE,GAAG,IAAI,EAAC;QACV,iBAAA,GAAG,GAAG,IAAI,EAAC;QACX,MAAM,GAAG,IAAI,CAAC;QAEd,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;YAC3E,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;SACpF;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SACjE;IACL,CAAC;;IAED,SAAgB,QAAQ,CAAC,IAAY;QACjC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,EAAE,CAAC,mBAAmB,GAAG,KAAK,CAAC;YAC/B,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;gBAChC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;aAC7E;SACJ;QAED,MAAM,CAAC,GAAW,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;QAChD,MAAM,CAAC,GAAW,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;QACjD,MAAM,SAAS,GAAW,EAAE,IAAI,EAAE,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAW,EAAE,IAAI,EAAE,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC5D,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,EAAE,GAAW,IAAI,GAAG,SAAS,CAAC;QACpC,SAAS,GAAG,IAAI,CAAC;QACjB,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;QAEzB,IAAI,EAAE,CAAC,eAAe,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC/D;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,IAAI,EAAE,CAAC,eAAe,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;aACvC;iBAAM;gBACH,QAAQ,KAAK,CAAC,cAAc,EAAE,EAAE;oBAC5B,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM;oBACxE,QAAQ;oBAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;wBAAC,MAAM;oBACrF,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM,CAAS,qCAAqC;oBAC3H,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM,CAAS,SAAS;oBAC/F,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;wBAAC,MAAM,CAAK,0CAA0C;oBAChI,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;wBAAC,MAAM,CAAK,mDAAmD;oBACzI,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;wBAAC,MAAM,CAAC,wDAAwD;oBAC9I,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;wBAAC,MAAM,CAAC,yDAAyD;oBAC/I,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM;iBAC3E;aACJ;SACJ;QAED,oCAAoC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACzB;QACD,IAAI,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACrD,wBAAwB;YACxB,MAAM,QAAQ,GAAuB,CAAC,OAAM,CAAC,SAAS,CAAC,KAAK,WAAW,IAAI,OAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,OAAO,GAAmB,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,EAAE;oBAAE,SAAS;iBAAE;gBAC3B,MAAM,aAAa,GAAW,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrD,MAAM,UAAU,GAAW,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/C,MAAM,UAAU,GAAG,UAAS,MAAc,EAAE,SAAiB;oBACzD,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO;qBAAE;oBACzB,IAAI,aAAa,GAAG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO;wBAC/D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;gBACnC,CAAC,CAAA;gBACD,MAAM,UAAU,GAAG,UAAS,MAAc,EAAE,OAAe,EAAE,EAAU,EAAE,EAAU;oBAC/E,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO;qBAAE;oBACzB,IAAI,CAAC,GAAW,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,GAAG;wBAAE,CAAC,GAAG,GAAG,CAAC;oBACrB,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;wBAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAA;gBACD,iDAAiD;gBACjD,8DAA8D;gBAC9D,MAAM,KAAK,GAA4B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAC5F,MAAM,YAAY,GAA4B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC3H,MAAM,MAAM,GAAW,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBAC1F,MAAM,OAAO,GAAW,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBAC3F,QAAQ,MAAM,GAAG,OAAO,EAAE;oBACtB,KAAK,UAAU,EAAE,6DAA6D;wBAC9E,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;wBACrE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;wBAClE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,KAAK,UAAU,EAAE,sEAAsE;wBACvF,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,EAAE,CAAC,CAAC,CAAC,WAAW;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;wBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;wBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,KAAK,UAAU,CAAC,CAAC,gEAAgE;oBACjF,KAAK,UAAU,EAAE,+CAA+C;wBAChE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;wBACrE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;wBAClE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,SAAS,6DAA6D;wBACtE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,EAAE,CAAC,CAAC,CAAC,WAAW;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;iBACT;aACJ;SACJ;IACL,CAAC;;IAED,SAAgB,cAAc,CAAC,YAAqC,KAAK,CAAC,WAAW,EAAE;QACnF,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,KAAK,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC;SAAE;QAE9C,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpC,wHAAwH;QACxH,MAAM,QAAQ,GAAW,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAW,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YACnC,OAAO;SACV;QACD,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;QAErD,kBAAkB;QAClB,MAAM,mBAAmB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QAC/F,MAAM,iBAAiB,GAAuB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACrG,MAAM,yBAAyB,GAAuB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,4BAA4B,CAAC,IAAI,IAAI,CAAC;QACrH,iFAAiF;QACjF,MAAM,aAAa,GAAsB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACpF,MAAM,gBAAgB,GAAsB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,kBAAkB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,kBAAkB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,uBAAuB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QACpG,MAAM,yBAAyB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACxG,MAAM,iBAAiB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACpF,MAAM,qBAAqB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,sBAAsB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,wBAAwB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAElG,+GAA+G;QAC/G,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAChC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACjC,6CAA6C;QAE7C,iDAAiD;QACjD,6LAA6L;QAC7L,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAiB,IAAI,YAAY,CAAC;YACpD,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAM,GAAG,EAAiB,GAAG,EAAE,GAAG;YAC/C,GAAG,EAAgB,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,GAAG,EAAE,GAAG;YAC/C,GAAG,EAAgB,GAAG,EAAgB,CAAC,GAAG,EAAE,GAAG;YAC/C,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAG,GAAG,EAAE,GAAG;SAClD,CAAC,CAAC;QACH,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC3C,EAAE,IAAI,uBAAuB,IAAI,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAEvG,uBAAuB;QACvB,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAClD,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;QAC3D,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QACrD,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;QAExD,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5H,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrH,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhI,OAAO;QACP,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC;QACjC,MAAM,eAAe,GAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/G,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAA2B,EAAQ,EAAE;YAC7D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzE,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEzE,IAAI,iBAAiB,GAAW,CAAC,CAAC;YAElC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAClD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAC1E,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YAC/D,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAElF,SAAS,CAAC,eAAe,CAAC,CAAC,QAAyB,EAAQ,EAAE;gBAC1D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnC,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjL,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE;oBACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE;wBACtD,MAAM,IAAI,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC3I,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACpL;iBACJ;gBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE;oBAChC,yDAAyD;oBACzD,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9C;qBAAM;oBACH,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvJ,IAAI,SAAS,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,EAAE;wBAC/F,mCAAmC;wBACnC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAE7G,qBAAqB;wBACrB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;wBACpC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACxD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;wBAE5F,IAAI,GAAG,EAAE;4BACL,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,GAAG,CAAC,SAAS,EAAE,CAAC;4BAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;4BACzF,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;gCACnC,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC;gCACjG,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC;4BACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;gCAC5C,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,IAAI,IAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,KAAK,MAAM,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAE,EAAE;oCACpC,IAAI,KAAK,GAAG,KAAK,CAAC;oCAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,KAAK,EAAE;wCAAE,IAAI,GAAG,KAAK,CAAC;qCAAE;iCAChC;gCACD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,IAAI,EAAE;oCACN,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;wCAC5C,mBAAmB;wCACnB,GAAG,CAAC,SAAS,EAAE,CAAC;wCAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCACrG,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;wCAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;qCACd;yCAAM;wCACH,kBAAkB;wCAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAA8B,CAAC;wCACtD,GAAG,CAAC,SAAS,CAAC,KAAK,EACf,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EACvD,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EACzF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCAClE,mBAAmB;wCACnB,wGAAwG;wCACxG,8BAA8B;wCAC9B,gBAAgB;qCACnB;oCACD,CAAC,IAAI,CAAC,CAAC;iCACV;qCAAM;oCACH,+BAA+B;oCAC/B,GAAG,CAAC,SAAS,EAAE,CAAC;oCAChB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,SAAS,EAAE,CAAC;oCAChB,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;oCAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;iCACd;6BACJ;4BACD,GAAG,CAAC,OAAO,EAAE,CAAC;yBACjB;qBACJ;iBACJ;gBAED,iBAAiB,IAAI,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7D,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7E,EAAE,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9E,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QACtD,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QACzD,EAAE,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACxF,EAAE,IAAI,CAAC,yBAAyB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;QAChH,EAAE,IAAI,CAAC,uBAAuB,KAAK,IAAI,IAAI,yBAAyB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;QAC/J,EAAE,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,IAAI,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QACjP,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5F,kEAAkE;QAClE,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,EAAE,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxI,CAAC;;IAED,SAAgB,kBAAkB;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,kBAAkB;QAClB,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAEvF,sBAAsB;QACtB,6BAA6B;QAC7B,8BAA8B;QAC9B,4EAA4E;QAC5E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAG,iTAAiT;QACpX,uEAAuE;QAEvE,oCAAoC;QACpC,aAAa,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACzC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACnD,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,wDAAwD;QACxD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEpG,uBAAuB;QACvB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACjD,iDAAiD;QAEjD,IAAI,GAAG,EAAE;YACL,MAAM,YAAY,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzE,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;YAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;aAAE;YAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;SACjC;QAED,4BAA4B;QAC5B,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;;IAED,SAAgB,mBAAmB;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;IAChE,CAAC;;IAED,SAAgB,mBAAmB;QAC/B,MAAM,aAAa,GAAa;YAC5B,uBAAuB;YACvB,0BAA0B;YAC1B,oBAAoB;YACpB,uBAAuB;YACvB,uBAAuB;YACvB,0BAA0B;YAC1B,eAAe;YACf,gBAAgB;YAChB,sBAAsB;YACtB,iDAAiD;YACjD,GAAG;SACN,CAAC;QAEF,MAAM,eAAe,GAAa;YAC9B,0BAA0B;YAC1B,4BAA4B;YAC5B,uBAAuB;YACvB,0BAA0B;YAC1B,eAAe;YACf,2DAA2D;YAC3D,GAAG;SACN,CAAC;QAEF,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QAC1C,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAA2B,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAA2B,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,YAA2B,CAAC,CAAC;QACpD,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,YAA2B,CAAC,CAAC;QACpD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,cAA8B,EAAE,YAA2B,CAAC,CAAC;QACnF,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,cAA8B,EAAE,YAA2B,CAAC,CAAC;QACnF,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,cAA8B,CAAC,CAAC;QAErD,mBAAmB,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,cAA8B,EAAE,SAAS,CAAC,CAAC;QAC7F,uBAAuB,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,cAA8B,EAAE,SAAS,CAAC,CAAC;QACjG,wBAAwB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvG,kBAAkB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3F,qBAAqB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjG,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QACtC,gBAAgB,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QAE3C,kBAAkB,EAAE,CAAC;IACzB,CAAC;;IAED,SAAgB,oBAAoB;QAChC,mBAAmB,EAAE,CAAC;QAEtB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QACvD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAAC,gBAAgB,GAAG,IAAI,CAAC;QAEjE,mBAAmB,GAAG,IAAI,CAAC;QAC3B,uBAAuB,GAAG,IAAI,CAAC;QAC/B,wBAAwB,GAAG,CAAC,CAAC,CAAC;QAC9B,kBAAkB,GAAG,CAAC,CAAC,CAAC;QACxB,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAE3B,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAAC,cAAc,GAAG,IAAI,CAAC;QAC9D,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;IAC7D,CAAC;;;;;;;;;YArxBG,cAAc,GAAW,EAAE,CAAC;YAEhC,gBAAA,MAAa,aAAa;aAEzB,CAAA;;YAEG,MAAM,GAA6B,IAAI,CAAC;YAE5C,gBAAW,EAAE,GAAkC,IAAI,EAAC;YAChD,cAAc,GAAwB,IAAI,CAAC;YAC3C,YAAY,GAAuB,IAAI,CAAC;YACxC,YAAY,GAAuB,IAAI,CAAC;YACxC,mBAAmB,GAAgC,IAAI,CAAC;YACxD,uBAAuB,GAAgC,IAAI,CAAC;YAC5D,wBAAwB,GAAU,CAAC,CAAC,CAAC;YACrC,kBAAkB,GAAU,CAAC,CAAC,CAAC;YAC/B,qBAAqB,GAAU,CAAC,CAAC,CAAC;YAClC,WAAW,GAAuB,IAAI,CAAC;YACvC,gBAAgB,GAAuB,IAAI,CAAC;YAC5C,aAAa,GAAwB,IAAI,CAAC;YAE9C,iBAAW,GAAG,GAAoC,IAAI,EAAC;YAEnD,SAAS,GAAW,CAAC,CAAC;YA2G1B,oBAAoB;YACpB,wCAAwC;YACxC,8EAA8E;YAC9E,0FAA0F;YAC1F,wDAAwD;YACxD,sDAAsD;YACtD,wDAAwD;YAClD,gBAAgB,GAAa,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;QA6oBrD,CAAC"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/src/main.js b/src/main.js index d059c0c..053077a 100644 --- a/src/main.js +++ b/src/main.js @@ -8,11 +8,11 @@ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, clearColor, ImGuiRenderer, windowOpen, text; + var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, ctx, currentCtx, clearColor, ImGuiRenderer, windowOpen, text; var __moduleName = context_1 && context_1.id; function main() { return __awaiter(this, void 0, void 0, function* () { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); yield ImGui.default(); window.requestAnimationFrame(init); @@ -21,13 +21,6 @@ function init() { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - const io = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - // Setup style - ImGui.StyleColorsLight(); let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app = new PIXI.Application(settings); const output = document.getElementById("output") || document.body; @@ -40,7 +33,19 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) { + let newCtx = ImGui.CreateContext(); + ImGui.SetCurrentContext(newCtx); + const io = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + // Setup style + ImGui.StyleColorsLight(); + ImGui_Impl.Init(app.view); + ctx.push(newCtx); + } + ImGui.SetCurrentContext(ctx[0]); app.ticker.add((deltaTime) => { const dt = deltaTime * 1 / (1000 * PIXI.settings.TARGET_FPMS); ImGui_Impl.NewFrame(dt); @@ -61,16 +66,22 @@ window.onkeydown = keyDown; } function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } function update(app, timeElapsed) { ImGui.SetNextWindowPos(new imgui_js_2.ImVec2(0, 0)); ImGui.SetNextWindowSize(new imgui_js_2.ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) { - text += "A"; + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { + if (ImGui.Button("Add Text")) { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else { + ImGui.Text("Another context"); + } ImGui.End(); } return { @@ -91,6 +102,8 @@ } ], execute: function () { + ctx = []; + currentCtx = 0; clearColor = new imgui_js_1.ImVec4(0.7, 0.9, 1, 1); ImGuiRenderer = class ImGuiRenderer extends PIXI.ObjectRenderer { constructor(r) { diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":";;;;IA2BA,SAAS,gBAAgB,CAAC,KAAqB;QAC3C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;SAC7D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,eAAe,CAAC,KAAqB;QAC1C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;SAC7D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC9D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,gBAAgB;QACrB,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACrD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAC;SAC1D;IACL,CAAC;IAED,SAAS,0BAA0B,CAAC,KAAU,CAAC,kBAAkB;QAC7D,OAAO,CAAC,GAAG,CAAC,yDAAyD,EACrE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EACrC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,6BAA6B,CAAC,KAAU,CAAC,kBAAkB;QAChE,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,cAAc,CAAC,KAAiB;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;QACnB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;QAClB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACzC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC1B;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC3B;IACL,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAoB;QAC3C,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QAClC,gCAAgC;QAChC,KAAI,6BAA8B,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,eAAe,CAAC,KAAoB;QACzC,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACnC,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAoB;QAC5C,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAmB;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAWD,SAAS,qBAAqB,CAAC,KAAmB;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACpD,6BAA6B;QAC7B,8BAA8B;QAC9B,IAAI;IACR,CAAC;IACD,SAAS,qBAAqB,CAAC,KAAY;QACvC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAmB;QAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;QACrD,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,eAAe,CAAC,KAAiB;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAW,GAAG,CAAC;QACxB,QAAQ,KAAK,CAAC,SAAS,EAAE;YACrB,KAAK,KAAK,CAAC,eAAe;gBAAE,KAAK,GAAG,IAAI,CAAC;gBAAC,MAAM;YAChD,KAAK,KAAK,CAAC,cAAc;gBAAE,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM;YAC9C,KAAK,KAAK,CAAC,cAAc;gBAAE,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM;SACjD;QACD,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACtC,EAAE,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,kDAAkD;QACzF,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAgB,IAAI,CAAC,KAAmF;QACpG,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;SACnF;QAED,IAAI,OAAM,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE;YACnC,EAAE,CAAC,qBAAqB,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;SACvE;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC9D;QAED,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAc,EAAE,IAAY,EAAQ,EAAE;YAC3D,cAAc,GAAG,IAAI,CAAC;YACtB,0DAA0D;YAC1D,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAQ,SAAiB,CAAC,SAAS,KAAK,WAAW,EAAE;gBACzF,2DAA2D;gBAC1D,SAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE;oBACnE,iEAAiE;gBACrE,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC;QACF,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAc,EAAU,EAAE;YAC/C,iGAAiG;YACjG,8DAA8D;YAC9D,6EAA6E;YAC7E,iCAAiC;YACjC,wEAAwE;YACxE,UAAU;YACV,IAAI;YACJ,0DAA0D;YAC1D,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC;QACF,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE5B,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;YACxE,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;SACjF;QAED,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,IAAI,KAAK,YAAW,CAAC,iBAAiB,CAAC,EAAE;gBACrC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAClF;YACD,IAAI,KAAK,YAAW,CAAC,sBAAsB,CAAC,EAAE;gBAC1C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,gBAAA,EAAE,GAAG,KAAK,EAAC;aACd;YACD,IAAI,KAAK,YAAW,CAAC,wBAAwB,CAAC,EAAE;gBAC5C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,iBAAA,GAAG,GAAG,KAAK,EAAC;aACf;SACJ;QAED,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,gBAAgB,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,gEAAgE;YACnG,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YACxD,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SACrD;QAED,oCAAoC;QACpC,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAG,kDAAkD;QAE3G,sFAAsF;QACtF,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACrC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC9B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAE5B,mBAAmB,EAAE,CAAC;IAC1B,CAAC;;IAED,SAAgB,QAAQ;QACpB,oBAAoB,EAAE,CAAC;QAEvB,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC3D,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SACxD;QAED,gBAAA,EAAE,GAAG,IAAI,EAAC;QACV,iBAAA,GAAG,GAAG,IAAI,EAAC;QACX,MAAM,GAAG,IAAI,CAAC;QAEd,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;YAC3E,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;SACpF;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SACjE;IACL,CAAC;;IAED,SAAgB,QAAQ,CAAC,IAAY;QACjC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,EAAE,CAAC,mBAAmB,GAAG,KAAK,CAAC;YAC/B,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;gBAChC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;aAC7E;SACJ;QAED,MAAM,CAAC,GAAW,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;QAChD,MAAM,CAAC,GAAW,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;QACjD,MAAM,SAAS,GAAW,EAAE,IAAI,EAAE,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAW,EAAE,IAAI,EAAE,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC5D,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,EAAE,GAAW,IAAI,GAAG,SAAS,CAAC;QACpC,SAAS,GAAG,IAAI,CAAC;QACjB,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;QAEzB,IAAI,EAAE,CAAC,eAAe,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC/D;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,IAAI,EAAE,CAAC,eAAe,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;aACvC;iBAAM;gBACH,QAAQ,KAAK,CAAC,cAAc,EAAE,EAAE;oBAC5B,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM;oBACxE,QAAQ;oBAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;wBAAC,MAAM;oBACrF,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM,CAAS,qCAAqC;oBAC3H,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM,CAAS,SAAS;oBAC/F,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;wBAAC,MAAM,CAAK,0CAA0C;oBAChI,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;wBAAC,MAAM,CAAK,mDAAmD;oBACzI,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;wBAAC,MAAM,CAAC,wDAAwD;oBAC9I,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;wBAAC,MAAM,CAAC,yDAAyD;oBAC/I,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM;iBAC3E;aACJ;SACJ;QAED,oCAAoC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACzB;QACD,IAAI,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACrD,wBAAwB;YACxB,MAAM,QAAQ,GAAuB,CAAC,OAAM,CAAC,SAAS,CAAC,KAAK,WAAW,IAAI,OAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,OAAO,GAAmB,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,EAAE;oBAAE,SAAS;iBAAE;gBAC3B,MAAM,aAAa,GAAW,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrD,MAAM,UAAU,GAAW,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/C,MAAM,UAAU,GAAG,UAAS,MAAc,EAAE,SAAiB;oBACzD,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO;qBAAE;oBACzB,IAAI,aAAa,GAAG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO;wBAC/D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;gBACnC,CAAC,CAAA;gBACD,MAAM,UAAU,GAAG,UAAS,MAAc,EAAE,OAAe,EAAE,EAAU,EAAE,EAAU;oBAC/E,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO;qBAAE;oBACzB,IAAI,CAAC,GAAW,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,GAAG;wBAAE,CAAC,GAAG,GAAG,CAAC;oBACrB,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;wBAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAA;gBACD,iDAAiD;gBACjD,8DAA8D;gBAC9D,MAAM,KAAK,GAA4B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAC5F,MAAM,YAAY,GAA4B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC3H,MAAM,MAAM,GAAW,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBAC1F,MAAM,OAAO,GAAW,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBAC3F,QAAQ,MAAM,GAAG,OAAO,EAAE;oBACtB,KAAK,UAAU,EAAE,6DAA6D;wBAC9E,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;wBACrE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;wBAClE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,KAAK,UAAU,EAAE,sEAAsE;wBACvF,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,EAAE,CAAC,CAAC,CAAC,WAAW;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;wBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;wBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,KAAK,UAAU,CAAC,CAAC,gEAAgE;oBACjF,KAAK,UAAU,EAAE,+CAA+C;wBAChE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;wBACrE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;wBAClE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,SAAS,6DAA6D;wBACtE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,EAAE,CAAC,CAAC,CAAC,WAAW;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;iBACT;aACJ;SACJ;IACL,CAAC;;IAED,SAAgB,cAAc,CAAC,YAAqC,KAAK,CAAC,WAAW,EAAE;QACnF,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,KAAK,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC;SAAE;QAE9C,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpC,wHAAwH;QACxH,MAAM,QAAQ,GAAW,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAW,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YACnC,OAAO;SACV;QACD,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;QAErD,kBAAkB;QAClB,MAAM,mBAAmB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QAC/F,MAAM,iBAAiB,GAAuB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACrG,MAAM,yBAAyB,GAAuB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,4BAA4B,CAAC,IAAI,IAAI,CAAC;QACrH,iFAAiF;QACjF,MAAM,aAAa,GAAsB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACpF,MAAM,gBAAgB,GAAsB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,kBAAkB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,kBAAkB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,uBAAuB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QACpG,MAAM,yBAAyB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACxG,MAAM,iBAAiB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACpF,MAAM,qBAAqB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,sBAAsB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,wBAAwB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAElG,+GAA+G;QAC/G,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAChC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACjC,6CAA6C;QAE7C,iDAAiD;QACjD,6LAA6L;QAC7L,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAiB,IAAI,YAAY,CAAC;YACpD,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAM,GAAG,EAAiB,GAAG,EAAE,GAAG;YAC/C,GAAG,EAAgB,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,GAAG,EAAE,GAAG;YAC/C,GAAG,EAAgB,GAAG,EAAgB,CAAC,GAAG,EAAE,GAAG;YAC/C,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAG,GAAG,EAAE,GAAG;SAClD,CAAC,CAAC;QACH,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC3C,EAAE,IAAI,uBAAuB,IAAI,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAEvG,uBAAuB;QACvB,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAClD,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;QAC3D,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QACrD,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;QAExD,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5H,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrH,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhI,OAAO;QACP,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC;QACjC,MAAM,eAAe,GAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/G,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAA2B,EAAQ,EAAE;YAC7D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzE,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEzE,IAAI,iBAAiB,GAAW,CAAC,CAAC;YAElC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAClD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAC1E,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YAC/D,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAElF,SAAS,CAAC,eAAe,CAAC,CAAC,QAAyB,EAAQ,EAAE;gBAC1D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnC,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjL,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE;oBACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE;wBACtD,MAAM,IAAI,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC3I,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACpL;iBACJ;gBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE;oBAChC,yDAAyD;oBACzD,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9C;qBAAM;oBACH,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvJ,IAAI,SAAS,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,EAAE;wBAC/F,mCAAmC;wBACnC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAE7G,qBAAqB;wBACrB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;wBACpC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACxD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;wBAE5F,IAAI,GAAG,EAAE;4BACL,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,GAAG,CAAC,SAAS,EAAE,CAAC;4BAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;4BACzF,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;gCACnC,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC;gCACjG,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC;4BACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;gCAC5C,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,IAAI,IAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,KAAK,MAAM,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAE,EAAE;oCACpC,IAAI,KAAK,GAAG,KAAK,CAAC;oCAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,KAAK,EAAE;wCAAE,IAAI,GAAG,KAAK,CAAC;qCAAE;iCAChC;gCACD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,IAAI,EAAE;oCACN,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;wCAC5C,mBAAmB;wCACnB,GAAG,CAAC,SAAS,EAAE,CAAC;wCAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCACrG,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;wCAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;qCACd;yCAAM;wCACH,kBAAkB;wCAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAA8B,CAAC;wCACtD,GAAG,CAAC,SAAS,CAAC,KAAK,EACf,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EACvD,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EACzF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCAClE,mBAAmB;wCACnB,wGAAwG;wCACxG,8BAA8B;wCAC9B,gBAAgB;qCACnB;oCACD,CAAC,IAAI,CAAC,CAAC;iCACV;qCAAM;oCACH,+BAA+B;oCAC/B,GAAG,CAAC,SAAS,EAAE,CAAC;oCAChB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,SAAS,EAAE,CAAC;oCAChB,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;oCAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;iCACd;6BACJ;4BACD,GAAG,CAAC,OAAO,EAAE,CAAC;yBACjB;qBACJ;iBACJ;gBAED,iBAAiB,IAAI,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7D,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7E,EAAE,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9E,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QACtD,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QACzD,EAAE,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACxF,EAAE,IAAI,CAAC,yBAAyB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;QAChH,EAAE,IAAI,CAAC,uBAAuB,KAAK,IAAI,IAAI,yBAAyB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;QAC/J,EAAE,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,IAAI,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QACjP,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5F,kEAAkE;QAClE,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,EAAE,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxI,CAAC;;IAED,SAAgB,kBAAkB;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,kBAAkB;QAClB,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAEvF,sBAAsB;QACtB,6BAA6B;QAC7B,8BAA8B;QAC9B,4EAA4E;QAC5E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAG,iTAAiT;QACpX,uEAAuE;QAEvE,oCAAoC;QACpC,aAAa,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACzC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACnD,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,wDAAwD;QACxD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEpG,uBAAuB;QACvB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACjD,iDAAiD;QAEjD,IAAI,GAAG,EAAE;YACL,MAAM,YAAY,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzE,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;YAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;aAAE;YAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;SACjC;QAED,4BAA4B;QAC5B,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;;IAED,SAAgB,mBAAmB;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;IAChE,CAAC;;IAED,SAAgB,mBAAmB;QAC/B,MAAM,aAAa,GAAa;YAC5B,uBAAuB;YACvB,0BAA0B;YAC1B,oBAAoB;YACpB,uBAAuB;YACvB,uBAAuB;YACvB,0BAA0B;YAC1B,eAAe;YACf,gBAAgB;YAChB,sBAAsB;YACtB,iDAAiD;YACjD,GAAG;SACN,CAAC;QAEF,MAAM,eAAe,GAAa;YAC9B,0BAA0B;YAC1B,4BAA4B;YAC5B,uBAAuB;YACvB,0BAA0B;YAC1B,eAAe;YACf,2DAA2D;YAC3D,GAAG;SACN,CAAC;QAEF,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QAC1C,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAA2B,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAA2B,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,YAA2B,CAAC,CAAC;QACpD,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,YAA2B,CAAC,CAAC;QACpD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,cAA8B,EAAE,YAA2B,CAAC,CAAC;QACnF,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,cAA8B,EAAE,YAA2B,CAAC,CAAC;QACnF,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,cAA8B,CAAC,CAAC;QAErD,mBAAmB,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,cAA8B,EAAE,SAAS,CAAC,CAAC;QAC7F,uBAAuB,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,cAA8B,EAAE,SAAS,CAAC,CAAC;QACjG,wBAAwB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvG,kBAAkB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3F,qBAAqB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjG,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QACtC,gBAAgB,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QAE3C,kBAAkB,EAAE,CAAC;IACzB,CAAC;;IAED,SAAgB,oBAAoB;QAChC,mBAAmB,EAAE,CAAC;QAEtB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QACvD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAAC,gBAAgB,GAAG,IAAI,CAAC;QAEjE,mBAAmB,GAAG,IAAI,CAAC;QAC3B,uBAAuB,GAAG,IAAI,CAAC;QAC/B,wBAAwB,GAAG,CAAC,CAAC,CAAC;QAC9B,kBAAkB,GAAG,CAAC,CAAC,CAAC;QACxB,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAE3B,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAAC,cAAc,GAAG,IAAI,CAAC;QAC9D,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;IAC7D,CAAC;;;;;;;;;YArxBG,cAAc,GAAW,EAAE,CAAC;YAEhC,gBAAA,MAAa,aAAa;aAEzB,CAAA;;YAEG,MAAM,GAA6B,IAAI,CAAC;YAE5C,gBAAW,EAAE,GAAkC,IAAI,EAAC;YAChD,cAAc,GAAwB,IAAI,CAAC;YAC3C,YAAY,GAAuB,IAAI,CAAC;YACxC,YAAY,GAAuB,IAAI,CAAC;YACxC,mBAAmB,GAAgC,IAAI,CAAC;YACxD,uBAAuB,GAAgC,IAAI,CAAC;YAC5D,wBAAwB,GAAU,CAAC,CAAC,CAAC;YACrC,kBAAkB,GAAU,CAAC,CAAC,CAAC;YAC/B,qBAAqB,GAAU,CAAC,CAAC,CAAC;YAClC,WAAW,GAAuB,IAAI,CAAC;YACvC,gBAAgB,GAAuB,IAAI,CAAC;YAC5C,aAAa,GAAwB,IAAI,CAAC;YAE9C,iBAAW,GAAG,GAAoC,IAAI,EAAC;YAEnD,SAAS,GAAW,CAAC,CAAC;YA2G1B,oBAAoB;YACpB,wCAAwC;YACxC,8EAA8E;YAC9E,0FAA0F;YAC1F,wDAAwD;YACxD,sDAAsD;YACtD,wDAAwD;YAClD,gBAAgB,GAAa,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;QA6oBrD,CAAC"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/src/main.js b/src/main.js index d059c0c..053077a 100644 --- a/src/main.js +++ b/src/main.js @@ -8,11 +8,11 @@ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, clearColor, ImGuiRenderer, windowOpen, text; + var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, ctx, currentCtx, clearColor, ImGuiRenderer, windowOpen, text; var __moduleName = context_1 && context_1.id; function main() { return __awaiter(this, void 0, void 0, function* () { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); yield ImGui.default(); window.requestAnimationFrame(init); @@ -21,13 +21,6 @@ function init() { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - const io = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - // Setup style - ImGui.StyleColorsLight(); let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app = new PIXI.Application(settings); const output = document.getElementById("output") || document.body; @@ -40,7 +33,19 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) { + let newCtx = ImGui.CreateContext(); + ImGui.SetCurrentContext(newCtx); + const io = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + // Setup style + ImGui.StyleColorsLight(); + ImGui_Impl.Init(app.view); + ctx.push(newCtx); + } + ImGui.SetCurrentContext(ctx[0]); app.ticker.add((deltaTime) => { const dt = deltaTime * 1 / (1000 * PIXI.settings.TARGET_FPMS); ImGui_Impl.NewFrame(dt); @@ -61,16 +66,22 @@ window.onkeydown = keyDown; } function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } function update(app, timeElapsed) { ImGui.SetNextWindowPos(new imgui_js_2.ImVec2(0, 0)); ImGui.SetNextWindowSize(new imgui_js_2.ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) { - text += "A"; + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { + if (ImGui.Button("Add Text")) { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else { + ImGui.Text("Another context"); + } ImGui.End(); } return { @@ -91,6 +102,8 @@ } ], execute: function () { + ctx = []; + currentCtx = 0; clearColor = new imgui_js_1.ImVec4(0.7, 0.9, 1, 1); ImGuiRenderer = class ImGuiRenderer extends PIXI.ObjectRenderer { constructor(r) { diff --git a/src/main.js.map b/src/main.js.map index 181e5e1..8828029 100644 --- a/src/main.js.map +++ b/src/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/src/main.js b/src/main.js index d059c0c..053077a 100644 --- a/src/main.js +++ b/src/main.js @@ -8,11 +8,11 @@ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, clearColor, ImGuiRenderer, windowOpen, text; + var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, ctx, currentCtx, clearColor, ImGuiRenderer, windowOpen, text; var __moduleName = context_1 && context_1.id; function main() { return __awaiter(this, void 0, void 0, function* () { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); yield ImGui.default(); window.requestAnimationFrame(init); @@ -21,13 +21,6 @@ function init() { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - const io = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - // Setup style - ImGui.StyleColorsLight(); let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app = new PIXI.Application(settings); const output = document.getElementById("output") || document.body; @@ -40,7 +33,19 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) { + let newCtx = ImGui.CreateContext(); + ImGui.SetCurrentContext(newCtx); + const io = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + // Setup style + ImGui.StyleColorsLight(); + ImGui_Impl.Init(app.view); + ctx.push(newCtx); + } + ImGui.SetCurrentContext(ctx[0]); app.ticker.add((deltaTime) => { const dt = deltaTime * 1 / (1000 * PIXI.settings.TARGET_FPMS); ImGui_Impl.NewFrame(dt); @@ -61,16 +66,22 @@ window.onkeydown = keyDown; } function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } function update(app, timeElapsed) { ImGui.SetNextWindowPos(new imgui_js_2.ImVec2(0, 0)); ImGui.SetNextWindowSize(new imgui_js_2.ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) { - text += "A"; + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { + if (ImGui.Button("Add Text")) { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else { + ImGui.Text("Another context"); + } ImGui.End(); } return { @@ -91,6 +102,8 @@ } ], execute: function () { + ctx = []; + currentCtx = 0; clearColor = new imgui_js_1.ImVec4(0.7, 0.9, 1, 1); ImGuiRenderer = class ImGuiRenderer extends PIXI.ObjectRenderer { constructor(r) { diff --git a/src/main.js.map b/src/main.js.map index 181e5e1..8828029 100644 --- a/src/main.js.map +++ b/src/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";;;;;;;;;;;;IAQA,SAAe,IAAI;;YAEf,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAEnE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;KAAA;IAGD,SAAS,IAAI;QAET,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEzF,2BAA2B;QAC3B,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,KAAK,CAAC,aAAa,EAAE,CAAC;QAEtB,MAAM,EAAE,GAAY,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,EAAE,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAE,2BAA2B;QAEnF,cAAc;QACd,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAEhG,IAAI,GAAG,GAAsB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAgB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QAC/E,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1B,GAAG,CAAC,MAAM,CAAC,GAAG,CACV,CAAC,SAAiB,EAAE,EAAE;YAElB,MAAM,EAAE,GAAW,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEtE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxB,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEjB,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAEhB,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC;YAEf,GAAG,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC,CACJ,CAAC;QAEF,MAAM,UAAU,GAAe,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACjD,UAAU,CAAC,UAAU,GAAG,gBAAgB,CAAC;QAEzC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE/B,IAAI,UAAU,GAAG;YAEb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEF,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7B,UAAU,EAAE,CAAC;QAEb,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,SAAS,OAAO;QAEZ,IAAI,IAAI,GAAG,CAAC;IAChB,CAAC;IAgBD,SAAS,MAAM,CAAC,GAAqB,EAAE,WAAmB;QAEtD,KAAK,CAAC,gBAAgB,CAAC,IAAI,iBAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,iBAAiB,CAAC,IAAI,iBAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAC5B;YACI,IAAI,IAAI,GAAG,CAAC;SACf;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;;;;;;;;;;;;;;;;;;;YA/FK,UAAU,GAAU,IAAI,iBAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAsErD,gBAAA,MAAM,aAAc,SAAQ,IAAI,CAAC,cAAc;gBAE3C,YAAY,CAAqB;oBAE7B,KAAK,CAAC,CAAC,CAAC,CAAC;gBACb,CAAC;gBACD,MAAM,CAAC,OAA2B;oBAE9B,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnD,CAAC;aACJ,CAAA;YAEG,UAAU,GAAY,IAAI,CAAC;YAC3B,IAAI,GAAW,MAAM,CAAC;YAgB1B;;;;;;;;;;;;;;;cAeE;YAEF,CAAC;gBAEI,IAAI,QAAQ,CAAC,UAAU,IAAI,UAAU,EACrC;oBACI,IAAI,EAAE,CAAC;iBACV;qBAED;oBACI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;iBACxB;YACL,CAAC,CAAC,EAAE,CAAC;QACN,CAAC"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 68ac5c8..98b52be 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,29 +8,22 @@ async function main(): Promise { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); await ImGui.default(); window.requestAnimationFrame(init); } +let ctx: ImGui.ImGuiContext[] = []; +let currentCtx = 0; + const clearColor:ImVec4 = new ImVec4(0.7, 0.9, 1, 1); function init(): void { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - - const io: ImGuiIO = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - - // Setup style - ImGui.StyleColorsLight(); - let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app : PIXI.Application = new PIXI.Application(settings); @@ -45,7 +38,26 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) + { + let newCtx: ImGui.ImGuiContext = ImGui.CreateContext(); + + ImGui.SetCurrentContext(newCtx); + const io: ImGuiIO = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + + // Setup style + ImGui.StyleColorsLight(); + + ImGui_Impl.Init(app.view); + + ctx.push(newCtx); + } + + ImGui.SetCurrentContext(ctx[0]); app.ticker.add( (deltaTime: number) => @@ -82,12 +94,13 @@ function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } class ImGuiRenderer extends PIXI.ObjectRenderer { - constructor(r: PIXI.WebGLRenderer) + constructor(r: PIXI.Renderer) { super(r); } @@ -103,12 +116,19 @@ { ImGui.SetNextWindowPos(new ImVec2(0, 0)); ImGui.SetNextWindowSize(new ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { - text += "A"; + if (ImGui.Button("Add Text")) + { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else + { + ImGui.Text("Another context"); + } ImGui.End(); } diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/src/main.js b/src/main.js index d059c0c..053077a 100644 --- a/src/main.js +++ b/src/main.js @@ -8,11 +8,11 @@ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, clearColor, ImGuiRenderer, windowOpen, text; + var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, ctx, currentCtx, clearColor, ImGuiRenderer, windowOpen, text; var __moduleName = context_1 && context_1.id; function main() { return __awaiter(this, void 0, void 0, function* () { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); yield ImGui.default(); window.requestAnimationFrame(init); @@ -21,13 +21,6 @@ function init() { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - const io = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - // Setup style - ImGui.StyleColorsLight(); let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app = new PIXI.Application(settings); const output = document.getElementById("output") || document.body; @@ -40,7 +33,19 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) { + let newCtx = ImGui.CreateContext(); + ImGui.SetCurrentContext(newCtx); + const io = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + // Setup style + ImGui.StyleColorsLight(); + ImGui_Impl.Init(app.view); + ctx.push(newCtx); + } + ImGui.SetCurrentContext(ctx[0]); app.ticker.add((deltaTime) => { const dt = deltaTime * 1 / (1000 * PIXI.settings.TARGET_FPMS); ImGui_Impl.NewFrame(dt); @@ -61,16 +66,22 @@ window.onkeydown = keyDown; } function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } function update(app, timeElapsed) { ImGui.SetNextWindowPos(new imgui_js_2.ImVec2(0, 0)); ImGui.SetNextWindowSize(new imgui_js_2.ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) { - text += "A"; + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { + if (ImGui.Button("Add Text")) { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else { + ImGui.Text("Another context"); + } ImGui.End(); } return { @@ -91,6 +102,8 @@ } ], execute: function () { + ctx = []; + currentCtx = 0; clearColor = new imgui_js_1.ImVec4(0.7, 0.9, 1, 1); ImGuiRenderer = class ImGuiRenderer extends PIXI.ObjectRenderer { constructor(r) { diff --git a/src/main.js.map b/src/main.js.map index 181e5e1..8828029 100644 --- a/src/main.js.map +++ b/src/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 68ac5c8..98b52be 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,29 +8,22 @@ async function main(): Promise { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); await ImGui.default(); window.requestAnimationFrame(init); } +let ctx: ImGui.ImGuiContext[] = []; +let currentCtx = 0; + const clearColor:ImVec4 = new ImVec4(0.7, 0.9, 1, 1); function init(): void { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - - const io: ImGuiIO = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - - // Setup style - ImGui.StyleColorsLight(); - let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app : PIXI.Application = new PIXI.Application(settings); @@ -45,7 +38,26 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) + { + let newCtx: ImGui.ImGuiContext = ImGui.CreateContext(); + + ImGui.SetCurrentContext(newCtx); + const io: ImGuiIO = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + + // Setup style + ImGui.StyleColorsLight(); + + ImGui_Impl.Init(app.view); + + ctx.push(newCtx); + } + + ImGui.SetCurrentContext(ctx[0]); app.ticker.add( (deltaTime: number) => @@ -82,12 +94,13 @@ function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } class ImGuiRenderer extends PIXI.ObjectRenderer { - constructor(r: PIXI.WebGLRenderer) + constructor(r: PIXI.Renderer) { super(r); } @@ -103,12 +116,19 @@ { ImGui.SetNextWindowPos(new ImVec2(0, 0)); ImGui.SetNextWindowSize(new ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { - text += "A"; + if (ImGui.Button("Add Text")) + { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else + { + ImGui.Text("Another context"); + } ImGui.End(); } diff --git a/src/utils.js b/src/utils.js index 380d970..c91e062 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,6 +1,10 @@ System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; + function fromConstructor(constr) { + return constr; + } + exports_1("fromConstructor", fromConstructor); function vec2col(v) { return (((v.x * 255) & 0xFF) << 16) + (((v.y * 255) & 0xFF) << 8) + diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/src/main.js b/src/main.js index d059c0c..053077a 100644 --- a/src/main.js +++ b/src/main.js @@ -8,11 +8,11 @@ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, clearColor, ImGuiRenderer, windowOpen, text; + var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, ctx, currentCtx, clearColor, ImGuiRenderer, windowOpen, text; var __moduleName = context_1 && context_1.id; function main() { return __awaiter(this, void 0, void 0, function* () { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); yield ImGui.default(); window.requestAnimationFrame(init); @@ -21,13 +21,6 @@ function init() { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - const io = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - // Setup style - ImGui.StyleColorsLight(); let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app = new PIXI.Application(settings); const output = document.getElementById("output") || document.body; @@ -40,7 +33,19 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) { + let newCtx = ImGui.CreateContext(); + ImGui.SetCurrentContext(newCtx); + const io = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + // Setup style + ImGui.StyleColorsLight(); + ImGui_Impl.Init(app.view); + ctx.push(newCtx); + } + ImGui.SetCurrentContext(ctx[0]); app.ticker.add((deltaTime) => { const dt = deltaTime * 1 / (1000 * PIXI.settings.TARGET_FPMS); ImGui_Impl.NewFrame(dt); @@ -61,16 +66,22 @@ window.onkeydown = keyDown; } function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } function update(app, timeElapsed) { ImGui.SetNextWindowPos(new imgui_js_2.ImVec2(0, 0)); ImGui.SetNextWindowSize(new imgui_js_2.ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) { - text += "A"; + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { + if (ImGui.Button("Add Text")) { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else { + ImGui.Text("Another context"); + } ImGui.End(); } return { @@ -91,6 +102,8 @@ } ], execute: function () { + ctx = []; + currentCtx = 0; clearColor = new imgui_js_1.ImVec4(0.7, 0.9, 1, 1); ImGuiRenderer = class ImGuiRenderer extends PIXI.ObjectRenderer { constructor(r) { diff --git a/src/main.js.map b/src/main.js.map index 181e5e1..8828029 100644 --- a/src/main.js.map +++ b/src/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 68ac5c8..98b52be 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,29 +8,22 @@ async function main(): Promise { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); await ImGui.default(); window.requestAnimationFrame(init); } +let ctx: ImGui.ImGuiContext[] = []; +let currentCtx = 0; + const clearColor:ImVec4 = new ImVec4(0.7, 0.9, 1, 1); function init(): void { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - - const io: ImGuiIO = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - - // Setup style - ImGui.StyleColorsLight(); - let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app : PIXI.Application = new PIXI.Application(settings); @@ -45,7 +38,26 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) + { + let newCtx: ImGui.ImGuiContext = ImGui.CreateContext(); + + ImGui.SetCurrentContext(newCtx); + const io: ImGuiIO = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + + // Setup style + ImGui.StyleColorsLight(); + + ImGui_Impl.Init(app.view); + + ctx.push(newCtx); + } + + ImGui.SetCurrentContext(ctx[0]); app.ticker.add( (deltaTime: number) => @@ -82,12 +94,13 @@ function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } class ImGuiRenderer extends PIXI.ObjectRenderer { - constructor(r: PIXI.WebGLRenderer) + constructor(r: PIXI.Renderer) { super(r); } @@ -103,12 +116,19 @@ { ImGui.SetNextWindowPos(new ImVec2(0, 0)); ImGui.SetNextWindowSize(new ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { - text += "A"; + if (ImGui.Button("Add Text")) + { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else + { + ImGui.Text("Another context"); + } ImGui.End(); } diff --git a/src/utils.js b/src/utils.js index 380d970..c91e062 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,6 +1,10 @@ System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; + function fromConstructor(constr) { + return constr; + } + exports_1("fromConstructor", fromConstructor); function vec2col(v) { return (((v.x * 255) & 0xFF) << 16) + (((v.y * 255) & 0xFF) << 8) + diff --git a/src/utils.js.map b/src/utils.js.map index ea2a130..2d50463 100644 --- a/src/utils.js.map +++ b/src/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;IAEA,SAAgB,OAAO,CAAC,CAAS;QAE7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;;;;;QACD,CAAC"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;IAEA,SAAgB,eAAe,CAAC,MAAW;QAEvC,OAAO,MAA6C,CAAA;IACxD,CAAC;;IAED,SAAgB,OAAO,CAAC,CAAS;QAE7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;;;;;QACD,CAAC"} \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index d6b45d7..c40f486 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "emsdk"] path = emsdk url = https://github.com/emscripten-core/emsdk.git +[submodule "pixi.js"] + path = pixi.js + url = https://git.mhack.io/git/mark/pixi.js.git diff --git a/package-lock.json b/package-lock.json index 6184cf6..79c0040 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,22 +4,358 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@pixi/accessibility": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.1.0.tgz", + "integrity": "sha512-F5MvmvQUm53/LpRDIEB3lHOwGlLCdeB3tAU3XYza+vlJNdOwnStcxdvKRaBtBcDEnant+/SXNDgB99x/84aVNw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/app": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.1.0.tgz", + "integrity": "sha512-JoFYUSv1fXI3+Tl1ueoOJNF57+jyE8WQKajXf9W6QvrUiA87TZCHVewZWgJZLoWRsGJmEDtqCt7Y2OZMoQW8/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0" + } + }, + "@pixi/constants": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.1.0.tgz", + "integrity": "sha512-86cogDvjF9yNvmxeizwkIhA0Kl2z3gUSWMf2daYx903dzyje7fwkzRrKLnqDUn6vSAxRXiska0DMJhwYsIC29w==" + }, + "@pixi/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.1.0.tgz", + "integrity": "sha512-rmMoEZ3mhlvxIiJUS2xxUs9vCMA2bAInzt2SRB7Msaq2yvlTeR3zfduHxfe7fahJUena6qvcYMBkKrwk1Fn0Mw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/runner": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/display": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.1.0.tgz", + "integrity": "sha512-nDNF49xPXIalS1T3F5iNbv9RMSARWadMUJuamzPmT0zGQtH+H7F4jqTcHBBAySbrrvk5dFz4Z+NjYeIRduQLpA==", + "requires": { + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/extract": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.1.0.tgz", + "integrity": "sha512-Rk6glnqhU2v+4FH6abDtQteXWuFhmAZZIa+Brv5cMbQODYp6eprXdASeXwqwqlETC55HsZwlys3T6S86T6U8xA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/filter-alpha": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.1.0.tgz", + "integrity": "sha512-xYZcPdcCjD+4s0Na4ec1Jpsd4mdEoH6jpbe6ssPqR250f3DPv9VwZ7+JwFqVWz7yJ19UDl1uA9dT5a33IHNtIQ==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-blur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.1.0.tgz", + "integrity": "sha512-mOujUL9+jfsOrM98HTL6HC9nHe18lzRhDT8blQJ+tJLtQ84TiAxwnWpazF+ZPrQMF0SMECAdWW8Mp1BsFW98mQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/filter-color-matrix": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.1.0.tgz", + "integrity": "sha512-D4//04FtETmo0/chXMekIQRkYFZAe1y6KjrC7NfDNAqiQS5jGnlyHgPM/gSJIwVa3ZGW0SquEhV9pZHMjojQYg==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-displacement": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.1.0.tgz", + "integrity": "sha512-xWu+YRdwaJc0OIrsgitLcghxP6SgKrsa2VfpzM9VduwVDBFrS9OkCZgZvbFILNe8n2luKw+IF32L93o5KGMBLg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/filter-fxaa": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.1.0.tgz", + "integrity": "sha512-ieoUF3voqVirI+DzIsId1vAaK67li0TauXtQkTjs3rtPCfZ7nLh2cS463mv1aW/V7oCvMwH9ImFXzYvBOZSzWA==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/filter-noise": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.1.0.tgz", + "integrity": "sha512-F2rkF1g8Z04USdg347OIF6avEmu/dEkLlnzemRi9LYMwHqrxYeNch+N+PpCFAGi+XPU0wmFQKh6WnXLV0c8w8Q==", + "requires": { + "@pixi/core": "^5.1.0" + } + }, + "@pixi/graphics": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.1.0.tgz", + "integrity": "sha512-ClTpBHVn5JyqT6xiw67UcQ42UYoOZMhfYDNBT9bo1JxQA+RefI08M+Jmh01rmb87F49mpuboyi0f74WYi4PgAQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/interaction": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.1.0.tgz", + "integrity": "sha512-QOS8IDtxNRIgpSnWe4MzyOPNm303foiNDNFpBa6ItHT9/2R3zRF0gwztmHE5Yu0fhS0DuF6sIo171Bu/qMD1/Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/ticker": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/loaders": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.1.0.tgz", + "integrity": "sha512-Sq3Uf+txzVGmOcSzq5AmbAr50Ahm6gR7G/sCn/wZk5xJqXhroATfoCbCqPiw2l8sdlItQvCnLaHdT7t64wBFBA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/utils": "^5.1.0", + "resource-loader": "^3.0.1" + } + }, + "@pixi/math": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.1.0.tgz", + "integrity": "sha512-Vf9W4SgYRRQMdSq8tFViKKKGCU3iklf0RDzd+wzp4gezOxe3m0PLB7XKwvVrP1hRjUh49zIAL9JBpYREPS1EMw==" + }, + "@pixi/mesh": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.1.0.tgz", + "integrity": "sha512-RTbNwKmzxClAFn5CHnqpeACd9NeGBgZlXw7MiOdpHtHLc2dWVRGP1OOBdBjhRjgezfmbe5eZVrXW5xtdrPFTxQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mesh-extras": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.1.0.tgz", + "integrity": "sha512-ChnsDxiyNY2Q6FnXEOyqctE3VedkOi9QqjVarq1Lp/Rmf8a2kyTc/Sv9D2ryh6r6LgDacwMAhSJW4Xq4N8frsw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/mesh": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.1.0.tgz", + "integrity": "sha512-t7dgu6ZayFtqQywdA4n+UNtad55Ju4bSV0dm7HB/xfDzrrajHDizQ87LC8aIDaBlTJAjr2O+l09mITIVDCA+qQ==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/mixin-get-child-by-name": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.1.0.tgz", + "integrity": "sha512-ZH+lcoRWMNFX67J0EKbW9pGJksv/2Pe3FxgfnEraKaW/OcqrzKtCrnhFCoMM/iPYWM0CbRJdlQBDiAu1+xzt6Q==", + "requires": { + "@pixi/display": "^5.1.0" + } + }, + "@pixi/mixin-get-global-position": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.1.0.tgz", + "integrity": "sha512-djERxQoTmjqlJ/bero5EbIBlbPhp5xYEQwvFjeMNCq8frRPCV+e/lMMbjmZJTMwSP22+go9u3n4QfyWYdODZsA==", + "requires": { + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0" + } + }, + "@pixi/particles": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.1.0.tgz", + "integrity": "sha512-44hRXDRtay3UUfKxHW5eMT4iHTCgyZCz1n8PCY+7plkN15Ml/QjC+C3GlEW3I/0j3HiNFZwzHxG8Po9aLi0cbw==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/polyfill": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.1.0.tgz", + "integrity": "sha512-8M3nYCO0a599fsdLW7wv9SBYriMqS1QckKAkRuN2JualRuK/GjxZjm5Vcbcwc1gGONRUKZroH12CuPyTcU2HnQ==", + "requires": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "@pixi/prepare": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.1.0.tgz", + "integrity": "sha512-mW3MK0oJiMWnlhL/kbODHqzKNZ8YMcM0uT1WP/KFbyI3PecLJFYp4jrU+3G/LuQGQGN5zeEKioYCdgQ/ECWzTw==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/graphics": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/text": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/runner": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.1.0.tgz", + "integrity": "sha512-PeQqNzCCIBm2RemI1cuszISqiRhI40mfZuuRXGQ006ClSAYk3eTQJgK9Qk0XbVlizCdnEih7xbfTNJyRV5ZyNw==" + }, + "@pixi/settings": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.1.0.tgz", + "integrity": "sha512-2/0VLtGi4BAs15rnSAdsieR9isaBvhInPTotd8Z2OmiBJKeeObrZXln2naT74XYMqJwn1m31VIe1Ec2baHyfQg==", + "requires": { + "ismobilejs": "^0.5.1" + } + }, + "@pixi/sprite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.1.0.tgz", + "integrity": "sha512-GMk8m56OcAoK8030QATrkLUShkI0oPv8cZEApaiMyb0vdg7fl7tJkGq7bin3QyhhBCxt8ZJWy8GePanG4w2SSQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/sprite-animated": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.1.0.tgz", + "integrity": "sha512-+79scow3qSPJY0dzqNsa4KYZYqJPrWSEzuUfdTgSIbjgoQ/2TeiQhROjdtg7P96kUxKAAn5WzXmjjW57ybML0w==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/ticker": "^5.1.0" + } + }, + "@pixi/sprite-tiling": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.1.0.tgz", + "integrity": "sha512-/8s9SNJ1hI/BNKlrYTKARWa4Qh79dtEAI2Sfyksho7qaEaenSLkppSwiq3UMNPO9nl3M941VfrXyUlumExbmAA==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/spritesheet": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.1.0.tgz", + "integrity": "sha512-a7mO0IAtiAh5i0m/N5cujRUmJgjHe4cYBn5LAOmEMncJ1qjgc9ophf7Y71kKqFYd7RGcLqexlE6h2cMzD+iBpA==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.1.0.tgz", + "integrity": "sha512-qipyJvNFMsXGFVrVruk5rk9ZS4jOHGVxjlGEXXG/tSXkC2j3wAiE9QP9YdR7y6448mg7dyWvskXly68WAKudhg==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/text-bitmap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.1.0.tgz", + "integrity": "sha512-O46dmK3C3+nxibXBlWF1VIbVfY4xC8EZL0+TCCXkmXqn8bDG3LFYJTqwVtOaW693WcAxq0qpTZnrP88toASq2Q==", + "requires": { + "@pixi/core": "^5.1.0", + "@pixi/display": "^5.1.0", + "@pixi/loaders": "^5.1.0", + "@pixi/math": "^5.1.0", + "@pixi/settings": "^5.1.0", + "@pixi/sprite": "^5.1.0", + "@pixi/utils": "^5.1.0" + } + }, + "@pixi/ticker": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.1.0.tgz", + "integrity": "sha512-yOyNURMTnR9JluWzvUJaCca0B6+jXIDkgWvkfbGA1p4Ty9R8eBuSsUAAYtj5lk3MDxKVXc4GUI3le4rRYdlwZA==", + "requires": { + "@pixi/settings": "^5.1.0" + } + }, + "@pixi/utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.1.0.tgz", + "integrity": "sha512-+RqA/rDGrnYzKpmA//O13qcr9vp3it6gHbybQvOIWuFIpm42vPYAqdNZa7wX2wiyIQryLIGJIZERF4LhsaXYGQ==", + "requires": { + "@pixi/constants": "^5.1.0", + "@pixi/settings": "^5.1.0", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, "@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, "@types/node": { - "version": "12.0.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.7.tgz", - "integrity": "sha512-1YKeT4JitGgE4SOzyB9eMwO0nGVNkNEsm9qlIt1Lqm/tG2QEiSMTD4kS3aO6L+w5SClLVxALmIBESK6Mk5wX0A==", - "dev": true - }, - "@types/pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/@types/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-SuaeAVDWNbvVzg+ipVrNzVxMDZHaa/MRNT/+Y270sYp/qxfB31KC1wEt7KDVNq9Ac/pRdSDrxVDcLDUaYn0aVg==", - "dev": true + "version": "12.6.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.8.tgz", + "integrity": "sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==" }, "@types/resolve": { "version": "0.0.8", @@ -33,7 +369,13 @@ "@types/systemjs": { "version": "0.20.6", "resolved": "https://registry.npmjs.org/@types/systemjs/-/systemjs-0.20.6.tgz", - "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==" + "integrity": "sha512-p3yv9sBBJXi3noUG216BpUI7VtVBUAvBIfZNTiDROUY31YBfsFHM4DreS7XMekN8IjtX0ysvCnm6r3WnirnNeA==", + "dev": true + }, + "@types/webgl2": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.5.tgz", + "integrity": "sha512-oGaKsBbxQOY5+aJFV3KECDhGaXt+yZJt2y/OZsnQGLRkH6Fvr7rv4pCt3SRH1somIHfej/c4u7NSpCyd9x+1Ow==" }, "abstract-leveldown": { "version": "0.12.4", @@ -63,9 +405,9 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", + "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==" }, "anymatch": { "version": "2.0.0", @@ -238,11 +580,6 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, - "bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha1-DGwfq+KyPRcXPZpht7cJPrnhdp4=" - }, "bl": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", @@ -269,6 +606,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -755,6 +1098,11 @@ "prr": "~1.0.1" } }, + "es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha1-84kl8jyz4+jObNqP93T867sJDN4=" + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -789,9 +1137,9 @@ } }, "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -925,9 +1273,9 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -1589,6 +1937,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -1620,9 +1974,9 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", "dev": true }, "has-value": { @@ -1701,22 +2055,22 @@ } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "idb-wrapper": { @@ -3811,9 +4165,9 @@ "dev": true }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "is": { @@ -3959,9 +4313,9 @@ } }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -4045,6 +4399,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4192,6 +4552,12 @@ "string_decoder": "~0.10.x" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, "xtend": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", @@ -4219,14 +4585,6 @@ "proxy-middleware": "^0.15.0", "send": "^0.17.1", "serve-index": "^1.9.1" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "ltgt": { @@ -4236,9 +4594,9 @@ "dev": true }, "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", + "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==", "dev": true, "requires": { "sourcemap-codec": "^1.4.4" @@ -4346,9 +4704,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4598,24 +4956,44 @@ "sha.js": "^2.4.8" } }, - "pixi-gl-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/pixi-gl-core/-/pixi-gl-core-1.1.4.tgz", - "integrity": "sha1-i0tcQzsx5Bm8N53FZc4bg1qRs3I=" - }, "pixi.js": { - "version": "4.8.7", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-4.8.7.tgz", - "integrity": "sha512-mx7YbHPkkWoj8FT3qBMkieAjBuuJ4yZWU7rq9NnCSUGpNrVlocrW179xrJQPVR2Q7JZ73ZGTwH7NOUZ9wgh7wA==", + "version": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", + "integrity": "sha512-RnF4Wtr6Xp3pMyu6fI86z3ey/QrHVCCXAfVWbft/xf3p57Hg/4CmaD7s3zS/nbw+nqR4T9sIbI3NUJM52mnn1w==", "requires": { - "bit-twiddle": "^1.0.2", - "earcut": "^2.1.4", - "eventemitter3": "^2.0.0", - "ismobilejs": "^0.5.1", - "object-assign": "^4.0.1", - "pixi-gl-core": "^1.1.4", - "remove-array-items": "^1.0.0", - "resource-loader": "^2.2.3" + "@pixi/accessibility": "^5.0.4", + "@pixi/app": "^5.0.4", + "@pixi/constants": "^5.0.4", + "@pixi/core": "^5.0.4", + "@pixi/display": "^5.0.4", + "@pixi/extract": "^5.0.4", + "@pixi/filter-alpha": "^5.0.4", + "@pixi/filter-blur": "^5.0.4", + "@pixi/filter-color-matrix": "^5.0.4", + "@pixi/filter-displacement": "^5.0.4", + "@pixi/filter-fxaa": "^5.0.4", + "@pixi/filter-noise": "^5.0.4", + "@pixi/graphics": "^5.0.4", + "@pixi/interaction": "^5.0.4", + "@pixi/loaders": "^5.0.4", + "@pixi/math": "^5.0.4", + "@pixi/mesh": "^5.0.4", + "@pixi/mesh-extras": "^5.0.4", + "@pixi/mixin-cache-as-bitmap": "^5.0.4", + "@pixi/mixin-get-child-by-name": "^5.0.4", + "@pixi/mixin-get-global-position": "^5.0.4", + "@pixi/particles": "^5.0.4", + "@pixi/polyfill": "^5.0.4", + "@pixi/prepare": "^5.0.4", + "@pixi/runner": "^5.0.4", + "@pixi/settings": "^5.0.4", + "@pixi/sprite": "^5.0.4", + "@pixi/sprite-animated": "^5.0.4", + "@pixi/sprite-tiling": "^5.0.4", + "@pixi/spritesheet": "^5.0.4", + "@pixi/text": "^5.0.4", + "@pixi/text-bitmap": "^5.0.4", + "@pixi/ticker": "^5.0.4", + "@pixi/utils": "^5.0.4" } }, "posix-character-classes": { @@ -4631,9 +5009,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proxy-middleware": { @@ -4662,6 +5040,16 @@ "safe-buffer": "^5.1.2" } }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4700,17 +5088,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -4734,11 +5111,6 @@ "safe-regex": "^1.1.0" } }, - "remove-array-items": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", - "integrity": "sha512-MXW/jtHyl5F1PZI7NbpS8SOtympdLuF20aoWJT5lELR1p/HJDd5nqW8Eu9uLh/hCRY3FgvrIT5AwDCgBODklcA==" - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4758,9 +5130,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4773,11 +5145,11 @@ "dev": true }, "resource-loader": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-2.2.4.tgz", - "integrity": "sha512-MrY0bEJN26us3h4bzJUSP0n4tFEb79lCpYBavtLjSezWCcXZMgxhSgvC9LxueuqpcxG+qPjhwFu5SQAcUNacdA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", "requires": { - "mini-signals": "^1.1.1", + "mini-signals": "^1.2.0", "parse-uri": "^1.0.0" } }, @@ -4798,33 +5170,26 @@ } }, "rollup": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.15.6.tgz", - "integrity": "sha512-s3Vn3QJQ5YVFfIG4nXoG9VdL1I37IZsft+4ZyeBhxE0df1kCFz9e+4bEAbR4mKH3pvBO9e9xjdxWPhhIp0r9ow==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", + "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.8", - "acorn": "^6.1.1" - }, - "dependencies": { - "@types/node": { - "version": "12.0.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz", - "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" - } + "@types/node": "^12.6.2", + "acorn": "^6.2.0" } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-node-builtins": { @@ -4840,16 +5205,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.3.tgz", - "integrity": "sha512-Mhhmf0x493xgUPEsRELnU1VM+4+WO82knWkAbZ0d2DvZQZJMbhzyQK/hqtpVscoRru1EqlK3TM1kK9ro469wPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-typescript2": { @@ -4971,6 +5336,12 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -4980,9 +5351,9 @@ } }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5151,9 +5522,9 @@ "dev": true }, "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", + "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", "dev": true }, "split": { @@ -5217,10 +5588,13 @@ "dev": true }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "systemjs": { "version": "0.21.6", @@ -5300,44 +5674,21 @@ "dev": true }, "typescript": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", - "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "universalify": { @@ -5410,6 +5761,15 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -5441,12 +5801,13 @@ "dev": true }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, diff --git a/package.json b/package.json index dcbedb8..ab87758 100644 --- a/package.json +++ b/package.json @@ -17,20 +17,20 @@ "author": "", "license": "ISC", "dependencies": { - "@types/systemjs": "^0.20.6", + "@types/webgl2": "0.0.5", "imgui-js": "file:./imgui-js", + "pixi.js": "file:pixi.js/bundles/pixi.js/pixi.js-5.0.4.tgz", "rollup": "^1.15.6", - "systemjs": "^0.21.5", - "pixi.js": "4.8.7" + "systemjs": "^0.21.5" }, "devDependencies": { "@types/node": "^12.0.0", + "@types/systemjs": "^0.20.6", "live-server": "^1.2.1", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-resolve": "^5.0.3", "rollup-plugin-typescript2": "^0.21.2", - "typescript": "^3.5.2", - "@types/pixi.js": "4.8.7" + "typescript": "^3.5.2" } } diff --git a/pixi.js b/pixi.js new file mode 160000 index 0000000..5eaa830 --- /dev/null +++ b/pixi.js @@ -0,0 +1 @@ +Subproject commit 5eaa830b66754c1a0698fb97e216a5e15fe8bc88 diff --git a/src/imgui_impl.js b/src/imgui_impl.js index 1543d7f..a8b435a 100644 --- a/src/imgui_impl.js +++ b/src/imgui_impl.js @@ -1,6 +1,6 @@ System.register(["imgui-js"], function (exports_1, context_1) { "use strict"; - var ImGui, clipboard_text, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; + var ImGui, clipboard_text, ImGuiImplPIXI, canvas, gl, g_ShaderHandle, g_VertHandle, g_FragHandle, g_AttribLocationTex, g_AttribLocationProjMtx, g_AttribLocationPosition, g_AttribLocationUV, g_AttribLocationColor, g_VboHandle, g_ElementsHandle, g_FontTexture, ctx, prev_time, mouse_button_map; var __moduleName = context_1 && context_1.id; function document_on_copy(event) { if (event.clipboardData) { @@ -178,9 +178,9 @@ } if (typeof (window) !== "undefined") { if (value instanceof (HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof (WebGLRenderingContext)) { + if (value instanceof (WebGL2RenderingContext)) { canvas = value.canvas; exports_1("gl", gl = value); } @@ -757,6 +757,9 @@ ], execute: function () { clipboard_text = ""; + ImGuiImplPIXI = class ImGuiImplPIXI { + }; + exports_1("ImGuiImplPIXI", ImGuiImplPIXI); canvas = null; exports_1("gl", gl = null); g_ShaderHandle = null; diff --git a/src/imgui_impl.js.map b/src/imgui_impl.js.map index 0193a27..ee1083c 100644 --- a/src/imgui_impl.js.map +++ b/src/imgui_impl.js.map @@ -1 +1 @@ -{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"imgui_impl.js","sourceRoot":"","sources":["imgui_impl.ts"],"names":[],"mappings":";;;;IA2BA,SAAS,gBAAgB,CAAC,KAAqB;QAC3C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;SAC7D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,eAAe,CAAC,KAAqB;QAC1C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;SAC7D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAqB;QAC5C,IAAI,KAAK,CAAC,aAAa,EAAE;YACrB,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC9D;QACD,qDAAqD;QACrD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,gBAAgB;QACrB,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;YACrD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAC;SAC1D;IACL,CAAC;IAED,SAAS,0BAA0B,CAAC,KAAU,CAAC,kBAAkB;QAC7D,OAAO,CAAC,GAAG,CAAC,yDAAyD,EACrE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EACrC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,6BAA6B,CAAC,KAAU,CAAC,kBAAkB;QAChE,OAAO,CAAC,GAAG,CAAC,uCAAuC,EACnD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,cAAc,CAAC,KAAiB;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;QACnB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;QAClB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACzC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC1B;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAC3B;IACL,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAoB;QAC3C,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QAClC,gCAAgC;QAChC,KAAI,6BAA8B,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,eAAe,CAAC,KAAoB;QACzC,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7B,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACnC,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,kBAAkB,CAAC,KAAoB;QAC5C,qDAAqD;QACrD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,qBAAqB,CAAC,KAAmB;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAWD,SAAS,qBAAqB,CAAC,KAAmB;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACjD,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACpD,6BAA6B;QAC7B,8BAA8B;QAC9B,IAAI;IACR,CAAC;IACD,SAAS,qBAAqB,CAAC,KAAY;QACvC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAmB;QAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;QACrD,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAS,eAAe,CAAC,KAAiB;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAW,GAAG,CAAC;QACxB,QAAQ,KAAK,CAAC,SAAS,EAAE;YACrB,KAAK,KAAK,CAAC,eAAe;gBAAE,KAAK,GAAG,IAAI,CAAC;gBAAC,MAAM;YAChD,KAAK,KAAK,CAAC,cAAc;gBAAE,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM;YAC9C,KAAK,KAAK,CAAC,cAAc;gBAAE,KAAK,GAAG,GAAG,CAAC;gBAAC,MAAM;SACjD;QACD,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACtC,EAAE,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,kDAAkD;QACzF,IAAI,EAAE,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,SAAgB,IAAI,CAAC,KAAmF;QACpG,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;SACnF;QAED,IAAI,OAAM,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE;YACnC,EAAE,CAAC,qBAAqB,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;SACvE;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC9D;QAED,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAc,EAAE,IAAY,EAAQ,EAAE;YAC3D,cAAc,GAAG,IAAI,CAAC;YACtB,0DAA0D;YAC1D,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAQ,SAAiB,CAAC,SAAS,KAAK,WAAW,EAAE;gBACzF,2DAA2D;gBAC1D,SAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE;oBACnE,iEAAiE;gBACrE,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC;QACF,EAAE,CAAC,kBAAkB,GAAG,CAAC,SAAc,EAAU,EAAE;YAC/C,iGAAiG;YACjG,8DAA8D;YAC9D,6EAA6E;YAC7E,iCAAiC;YACjC,wEAAwE;YACxE,UAAU;YACV,IAAI;YACJ,0DAA0D;YAC1D,OAAO,cAAc,CAAC;QAC1B,CAAC,CAAC;QACF,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE5B,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;YACxE,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;SACjF;QAED,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,IAAI,KAAK,YAAW,CAAC,iBAAiB,CAAC,EAAE;gBACrC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAClF;YACD,IAAI,KAAK,YAAW,CAAC,sBAAsB,CAAC,EAAE;gBAC1C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,gBAAA,EAAE,GAAG,KAAK,EAAC;aACd;YACD,IAAI,KAAK,YAAW,CAAC,wBAAwB,CAAC,EAAE;gBAC5C,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,iBAAA,GAAG,GAAG,KAAK,EAAC;aACf;SACJ;QAED,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,gBAAgB,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,gEAAgE;YACnG,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YACxD,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC1D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SACrD;QAED,oCAAoC;QACpC,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAG,kDAAkD;QAE3G,sFAAsF;QACtF,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACrC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC9B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAE5B,mBAAmB,EAAE,CAAC;IAC1B,CAAC;;IAED,SAAgB,QAAQ;QACpB,oBAAoB,EAAE,CAAC;QAEvB,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACnD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACrD,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC3D,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;YACjE,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SACxD;QAED,gBAAA,EAAE,GAAG,IAAI,EAAC;QACV,iBAAA,GAAG,GAAG,IAAI,EAAC;QACX,MAAM,GAAG,IAAI,CAAC;QAEd,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;YAC3E,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;SACpF;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SACjE;IACL,CAAC;;IAED,SAAgB,QAAQ,CAAC,IAAY;QACjC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,EAAE,CAAC,mBAAmB,EAAE;YACxB,EAAE,CAAC,mBAAmB,GAAG,KAAK,CAAC;YAC/B,IAAI,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;gBAChC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;aAC7E;SACJ;QAED,MAAM,CAAC,GAAW,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;QAChD,MAAM,CAAC,GAAW,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;QACjD,MAAM,SAAS,GAAW,EAAE,IAAI,EAAE,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAW,EAAE,IAAI,EAAE,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC5D,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,EAAE,GAAW,IAAI,GAAG,SAAS,CAAC;QACpC,SAAS,GAAG,IAAI,CAAC;QACjB,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;QAEzB,IAAI,EAAE,CAAC,eAAe,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC/D;QAED,IAAI,OAAM,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;YAClC,IAAI,EAAE,CAAC,eAAe,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;aACvC;iBAAM;gBACH,QAAQ,KAAK,CAAC,cAAc,EAAE,EAAE;oBAC5B,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM;oBACxE,QAAQ;oBAAC,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;wBAAC,MAAM;oBACrF,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM,CAAS,qCAAqC;oBAC3H,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM,CAAS,SAAS;oBAC/F,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;wBAAC,MAAM,CAAK,0CAA0C;oBAChI,KAAK,KAAK,CAAC,WAAW,CAAC,QAAQ;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;wBAAC,MAAM,CAAK,mDAAmD;oBACzI,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;wBAAC,MAAM,CAAC,wDAAwD;oBAC9I,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;wBAAC,MAAM,CAAC,yDAAyD;oBAC/I,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;wBAAC,MAAM;iBAC3E;aACJ;SACJ;QAED,oCAAoC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACzB;QACD,IAAI,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACrD,wBAAwB;YACxB,MAAM,QAAQ,GAAuB,CAAC,OAAM,CAAC,SAAS,CAAC,KAAK,WAAW,IAAI,OAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACtC,MAAM,OAAO,GAAmB,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,EAAE;oBAAE,SAAS;iBAAE;gBAC3B,MAAM,aAAa,GAAW,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrD,MAAM,UAAU,GAAW,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/C,MAAM,UAAU,GAAG,UAAS,MAAc,EAAE,SAAiB;oBACzD,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO;qBAAE;oBACzB,IAAI,aAAa,GAAG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO;wBAC/D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;gBACnC,CAAC,CAAA;gBACD,MAAM,UAAU,GAAG,UAAS,MAAc,EAAE,OAAe,EAAE,EAAU,EAAE,EAAU;oBAC/E,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO;qBAAE;oBACzB,IAAI,CAAC,GAAW,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBACzB,IAAI,CAAC,GAAG,GAAG;wBAAE,CAAC,GAAG,GAAG,CAAC;oBACrB,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;wBAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC,CAAA;gBACD,iDAAiD;gBACjD,8DAA8D;gBAC9D,MAAM,KAAK,GAA4B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAC5F,MAAM,YAAY,GAA4B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC3H,MAAM,MAAM,GAAW,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBAC1F,MAAM,OAAO,GAAW,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;gBAC3F,QAAQ,MAAM,GAAG,OAAO,EAAE;oBACtB,KAAK,UAAU,EAAE,6DAA6D;wBAC9E,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;wBACrE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;wBAClE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,KAAK,UAAU,EAAE,sEAAsE;wBACvF,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,EAAE,CAAC,CAAC,CAAC,WAAW;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;wBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;wBACjE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,KAAK,UAAU,CAAC,CAAC,gEAAgE;oBACjF,KAAK,UAAU,EAAE,+CAA+C;wBAChE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc;wBACrE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;wBAClE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;wBACpE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;oBACN,SAAS,6DAA6D;wBACtE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,CAAC,CAAC,CAAC,YAAY;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAC,CAAC,CAAC,CAAC,aAAa;wBACxD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC1D,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAO,EAAE,CAAC,CAAC,CAAC,WAAW;wBACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,aAAa;wBACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACtD,MAAM;iBACT;aACJ;SACJ;IACL,CAAC;;IAED,SAAgB,cAAc,CAAC,YAAqC,KAAK,CAAC,WAAW,EAAE;QACnF,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,KAAK,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC;SAAE;QAE9C,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEpC,wHAAwH;QACxH,MAAM,QAAQ,GAAW,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAW,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;YACnC,OAAO;SACV;QACD,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;QAErD,kBAAkB;QAClB,MAAM,mBAAmB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QAC/F,MAAM,iBAAiB,GAAuB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACrG,MAAM,yBAAyB,GAAuB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,4BAA4B,CAAC,IAAI,IAAI,CAAC;QACrH,iFAAiF;QACjF,MAAM,aAAa,GAAsB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACpF,MAAM,gBAAgB,GAAsB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,kBAAkB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,kBAAkB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC1F,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,oBAAoB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,uBAAuB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;QACpG,MAAM,yBAAyB,GAAkB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC;QACxG,MAAM,iBAAiB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QACpF,MAAM,qBAAqB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAC5F,MAAM,sBAAsB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC9F,MAAM,wBAAwB,GAAqB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAElG,+GAA+G;QAC/G,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAChC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACjC,6CAA6C;QAE7C,iDAAiD;QACjD,6LAA6L;QAC7L,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAiB,IAAI,YAAY,CAAC;YACpD,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAM,GAAG,EAAiB,GAAG,EAAE,GAAG;YAC/C,GAAG,EAAgB,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,GAAG,EAAE,GAAG;YAC/C,GAAG,EAAgB,GAAG,EAAgB,CAAC,GAAG,EAAE,GAAG;YAC/C,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAG,GAAG,EAAE,GAAG;SAClD,CAAC,CAAC;QACH,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC3C,EAAE,IAAI,uBAAuB,IAAI,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAEvG,uBAAuB;QACvB,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAClD,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;QAC3D,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QACrD,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;QAExD,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5H,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrH,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhI,OAAO;QACP,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC;QACjC,MAAM,eAAe,GAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/G,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAA2B,EAAQ,EAAE;YAC7D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzE,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEzE,IAAI,iBAAiB,GAAW,CAAC,CAAC;YAElC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAClD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAC1E,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YAC/D,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAElF,SAAS,CAAC,eAAe,CAAC,CAAC,QAAyB,EAAQ,EAAE;gBAC1D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnC,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1D,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjL,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE;oBACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE;wBACtD,MAAM,IAAI,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC3I,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACpL;iBACJ;gBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE;oBAChC,yDAAyD;oBACzD,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAC9C;qBAAM;oBACH,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvJ,IAAI,SAAS,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,GAAG,EAAE;wBAC/F,mCAAmC;wBACnC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAE7G,qBAAqB;wBACrB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;wBACpC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACxD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;wBAE5F,IAAI,GAAG,EAAE;4BACL,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,GAAG,CAAC,SAAS,EAAE,CAAC;4BAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;4BACzF,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;gCACnC,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC;gCACjG,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC;4BACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE;gCAC5C,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9B,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,MAAM,EAAE,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1I,IAAI,IAAI,GAAG,IAAI,CAAC;gCAChB,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,IAAI,MAAM,GAAqB,EAAE,CAAC;gCAClC,KAAK,MAAM,CAAC,IAAI,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAE,EAAE;oCACpC,IAAI,KAAK,GAAG,KAAK,CAAC;oCAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wCAAE,MAAM,GAAG,CAAC,CAAC;wCAAC,KAAK,GAAG,IAAI,CAAC;qCAAE;oCACzF,IAAI,CAAC,KAAK,EAAE;wCAAE,IAAI,GAAG,KAAK,CAAC;qCAAE;iCAChC;gCACD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjD,IAAI,IAAI,EAAE;oCACN,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;wCAC5C,mBAAmB;wCACnB,GAAG,CAAC,SAAS,EAAE,CAAC;wCAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCACrG,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;wCAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;qCACd;yCAAM;wCACH,kBAAkB;wCAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAA8B,CAAC;wCACtD,GAAG,CAAC,SAAS,CAAC,KAAK,EACf,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EACvD,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EACzF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wCAClE,mBAAmB;wCACnB,wGAAwG;wCACxG,8BAA8B;wCAC9B,gBAAgB;qCACnB;oCACD,CAAC,IAAI,CAAC,CAAC;iCACV;qCAAM;oCACH,+BAA+B;oCAC/B,GAAG,CAAC,SAAS,EAAE,CAAC;oCAChB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oCACjC,GAAG,CAAC,SAAS,EAAE,CAAC;oCAChB,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;oCAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;iCACd;6BACJ;4BACD,GAAG,CAAC,OAAO,EAAE,CAAC;yBACjB;qBACJ;iBACJ;gBAED,iBAAiB,IAAI,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7D,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7E,EAAE,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9E,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QAC5D,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QACtD,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QACzD,EAAE,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACxF,EAAE,IAAI,CAAC,yBAAyB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;QAChH,EAAE,IAAI,CAAC,uBAAuB,KAAK,IAAI,IAAI,yBAAyB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;QAC/J,EAAE,IAAI,CAAC,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,IAAI,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QACjP,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5F,kEAAkE;QAClE,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,EAAE,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxI,CAAC;;IAED,SAAgB,kBAAkB;QAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,kBAAkB;QAClB,MAAM,YAAY,GAAwB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAEvF,sBAAsB;QACtB,6BAA6B;QAC7B,8BAA8B;QAC9B,4EAA4E;QAC5E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAG,iTAAiT;QACpX,uEAAuE;QAEvE,oCAAoC;QACpC,aAAa,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACzC,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACnD,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACxE,wDAAwD;QACxD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEpG,uBAAuB;QACvB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACjD,iDAAiD;QAEjD,IAAI,GAAG,EAAE;YACL,MAAM,YAAY,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzE,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3B,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;YAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;aAAE;YAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;SACjC;QAED,4BAA4B;QAC5B,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;;IAED,SAAgB,mBAAmB;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;IAChE,CAAC;;IAED,SAAgB,mBAAmB;QAC/B,MAAM,aAAa,GAAa;YAC5B,uBAAuB;YACvB,0BAA0B;YAC1B,oBAAoB;YACpB,uBAAuB;YACvB,uBAAuB;YACvB,0BAA0B;YAC1B,eAAe;YACf,gBAAgB;YAChB,sBAAsB;YACtB,iDAAiD;YACjD,GAAG;SACN,CAAC;QAEF,MAAM,eAAe,GAAa;YAC9B,0BAA0B;YAC1B,4BAA4B;YAC5B,uBAAuB;YACvB,0BAA0B;YAC1B,eAAe;YACf,2DAA2D;YAC3D,GAAG;SACN,CAAC;QAEF,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QAC1C,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,YAAY,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAA2B,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAA2B,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,YAA2B,CAAC,CAAC;QACpD,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,YAA2B,CAAC,CAAC;QACpD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,cAA8B,EAAE,YAA2B,CAAC,CAAC;QACnF,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,cAA8B,EAAE,YAA2B,CAAC,CAAC;QACnF,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,cAA8B,CAAC,CAAC;QAErD,mBAAmB,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,cAA8B,EAAE,SAAS,CAAC,CAAC;QAC7F,uBAAuB,GAAG,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,cAA8B,EAAE,SAAS,CAAC,CAAC;QACjG,wBAAwB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvG,kBAAkB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3F,qBAAqB,GAAG,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjG,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QACtC,gBAAgB,GAAG,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QAE3C,kBAAkB,EAAE,CAAC;IACzB,CAAC;;IAED,SAAgB,oBAAoB;QAChC,mBAAmB,EAAE,CAAC;QAEtB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QACvD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAAC,gBAAgB,GAAG,IAAI,CAAC;QAEjE,mBAAmB,GAAG,IAAI,CAAC;QAC3B,uBAAuB,GAAG,IAAI,CAAC;QAC/B,wBAAwB,GAAG,CAAC,CAAC,CAAC;QAC9B,kBAAkB,GAAG,CAAC,CAAC,CAAC;QACxB,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAE3B,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAAC,cAAc,GAAG,IAAI,CAAC;QAC9D,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;QACzD,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;IAC7D,CAAC;;;;;;;;;YArxBG,cAAc,GAAW,EAAE,CAAC;YAEhC,gBAAA,MAAa,aAAa;aAEzB,CAAA;;YAEG,MAAM,GAA6B,IAAI,CAAC;YAE5C,gBAAW,EAAE,GAAkC,IAAI,EAAC;YAChD,cAAc,GAAwB,IAAI,CAAC;YAC3C,YAAY,GAAuB,IAAI,CAAC;YACxC,YAAY,GAAuB,IAAI,CAAC;YACxC,mBAAmB,GAAgC,IAAI,CAAC;YACxD,uBAAuB,GAAgC,IAAI,CAAC;YAC5D,wBAAwB,GAAU,CAAC,CAAC,CAAC;YACrC,kBAAkB,GAAU,CAAC,CAAC,CAAC;YAC/B,qBAAqB,GAAU,CAAC,CAAC,CAAC;YAClC,WAAW,GAAuB,IAAI,CAAC;YACvC,gBAAgB,GAAuB,IAAI,CAAC;YAC5C,aAAa,GAAwB,IAAI,CAAC;YAE9C,iBAAW,GAAG,GAAoC,IAAI,EAAC;YAEnD,SAAS,GAAW,CAAC,CAAC;YA2G1B,oBAAoB;YACpB,wCAAwC;YACxC,8EAA8E;YAC9E,0FAA0F;YAC1F,wDAAwD;YACxD,sDAAsD;YACtD,wDAAwD;YAClD,gBAAgB,GAAa,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;QA6oBrD,CAAC"} \ No newline at end of file diff --git a/src/imgui_impl.ts b/src/imgui_impl.ts index c9dc19d..8e9fa52 100644 --- a/src/imgui_impl.ts +++ b/src/imgui_impl.ts @@ -2,9 +2,13 @@ let clipboard_text: string = ""; +export class ImGuiImplPIXI +{ +} + let canvas: HTMLCanvasElement | null = null; -export let gl: WebGLRenderingContext | null = null; +export let gl: WebGL2RenderingContext | null = null; let g_ShaderHandle: WebGLProgram | null = null; let g_VertHandle: WebGLShader | null = null; let g_FragHandle: WebGLShader | null = null; @@ -175,7 +179,7 @@ } } -export function Init(value: HTMLCanvasElement | WebGLRenderingContext | CanvasRenderingContext2D | null): void { +export function Init(value: HTMLCanvasElement | WebGL2RenderingContext | CanvasRenderingContext2D | null): void { const io = ImGui.GetIO(); if (typeof(window) !== "undefined") { @@ -223,9 +227,9 @@ if (typeof(window) !== "undefined") { if (value instanceof(HTMLCanvasElement)) { - value = value.getContext("webgl", { alpha: false }) || value.getContext("2d"); + value = value.getContext("webgl2", { alpha: false }) || value.getContext("2d"); } - if (value instanceof(WebGLRenderingContext)) { + if (value instanceof(WebGL2RenderingContext)) { canvas = value.canvas; gl = value; } diff --git a/src/main.js b/src/main.js index d059c0c..053077a 100644 --- a/src/main.js +++ b/src/main.js @@ -8,11 +8,11 @@ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, clearColor, ImGuiRenderer, windowOpen, text; + var ImGui_Impl, ImGui, imgui_js_1, imgui_js_2, PIXI, U, ctx, currentCtx, clearColor, ImGuiRenderer, windowOpen, text; var __moduleName = context_1 && context_1.id; function main() { return __awaiter(this, void 0, void 0, function* () { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); yield ImGui.default(); window.requestAnimationFrame(init); @@ -21,13 +21,6 @@ function init() { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - const io = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - // Setup style - ImGui.StyleColorsLight(); let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app = new PIXI.Application(settings); const output = document.getElementById("output") || document.body; @@ -40,7 +33,19 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) { + let newCtx = ImGui.CreateContext(); + ImGui.SetCurrentContext(newCtx); + const io = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + // Setup style + ImGui.StyleColorsLight(); + ImGui_Impl.Init(app.view); + ctx.push(newCtx); + } + ImGui.SetCurrentContext(ctx[0]); app.ticker.add((deltaTime) => { const dt = deltaTime * 1 / (1000 * PIXI.settings.TARGET_FPMS); ImGui_Impl.NewFrame(dt); @@ -61,16 +66,22 @@ window.onkeydown = keyDown; } function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } function update(app, timeElapsed) { ImGui.SetNextWindowPos(new imgui_js_2.ImVec2(0, 0)); ImGui.SetNextWindowSize(new imgui_js_2.ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) { - text += "A"; + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { + if (ImGui.Button("Add Text")) { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else { + ImGui.Text("Another context"); + } ImGui.End(); } return { @@ -91,6 +102,8 @@ } ], execute: function () { + ctx = []; + currentCtx = 0; clearColor = new imgui_js_1.ImVec4(0.7, 0.9, 1, 1); ImGuiRenderer = class ImGuiRenderer extends PIXI.ObjectRenderer { constructor(r) { diff --git a/src/main.js.map b/src/main.js.map index 181e5e1..8828029 100644 --- a/src/main.js.map +++ b/src/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 68ac5c8..98b52be 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,29 +8,22 @@ async function main(): Promise { - PIXI.WebGLRenderer.registerPlugin("imgui_renderer", ImGuiRenderer); + PIXI.Renderer.registerPlugin("imgui_renderer", U.fromConstructor(ImGuiRenderer)); console.log("main()"); await ImGui.default(); window.requestAnimationFrame(init); } +let ctx: ImGui.ImGuiContext[] = []; +let currentCtx = 0; + const clearColor:ImVec4 = new ImVec4(0.7, 0.9, 1, 1); function init(): void { console.log("init()"); console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks); - // Setup Dear ImGui binding - ImGui.IMGUI_CHECKVERSION(); - ImGui.CreateContext(); - - const io: ImGuiIO = ImGui.GetIO(); - io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls - - // Setup style - ImGui.StyleColorsLight(); - let settings = { width: 1, height: 1, antialias: true, backgroundColor: U.vec2col(clearColor) }; let app : PIXI.Application = new PIXI.Application(settings); @@ -45,7 +38,26 @@ app.view.style.bottom = "0px"; app.view.style.width = "100%"; app.view.style.height = "100%"; - ImGui_Impl.Init(app.view); + + // Setup Dear ImGui binding + ImGui.IMGUI_CHECKVERSION(); + for (var i = 0; i < 2; i++) + { + let newCtx: ImGui.ImGuiContext = ImGui.CreateContext(); + + ImGui.SetCurrentContext(newCtx); + const io: ImGuiIO = ImGui.GetIO(); + io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard; // Enable Keyboard Controls + + // Setup style + ImGui.StyleColorsLight(); + + ImGui_Impl.Init(app.view); + + ctx.push(newCtx); + } + + ImGui.SetCurrentContext(ctx[0]); app.ticker.add( (deltaTime: number) => @@ -82,12 +94,13 @@ function keyDown() { - text += "B"; + currentCtx = (currentCtx + 1) % ctx.length; + ImGui.SetCurrentContext(ctx[currentCtx]); } class ImGuiRenderer extends PIXI.ObjectRenderer { - constructor(r: PIXI.WebGLRenderer) + constructor(r: PIXI.Renderer) { super(r); } @@ -103,12 +116,19 @@ { ImGui.SetNextWindowPos(new ImVec2(0, 0)); ImGui.SetNextWindowSize(new ImVec2(600, 400), ImGui.ImGuiCond.Always); - ImGui.Begin("Test Window", (_ = windowOpen) => windowOpen = _, 0); - if (ImGui.Button("Add Text")) + ImGui.Begin("Test Window " + currentCtx, (_ = windowOpen) => windowOpen = _, 0); + if (currentCtx == 0) { - text += "A"; + if (ImGui.Button("Add Text")) + { + text += "A"; + } + ImGui.Text(text); } - ImGui.Text(text); + else + { + ImGui.Text("Another context"); + } ImGui.End(); } diff --git a/src/utils.js b/src/utils.js index 380d970..c91e062 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,6 +1,10 @@ System.register([], function (exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; + function fromConstructor(constr) { + return constr; + } + exports_1("fromConstructor", fromConstructor); function vec2col(v) { return (((v.x * 255) & 0xFF) << 16) + (((v.y * 255) & 0xFF) << 8) + diff --git a/src/utils.js.map b/src/utils.js.map index ea2a130..2d50463 100644 --- a/src/utils.js.map +++ b/src/utils.js.map @@ -1 +1 @@ -{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;IAEA,SAAgB,OAAO,CAAC,CAAS;QAE7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;;;;;QACD,CAAC"} \ No newline at end of file +{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;IAEA,SAAgB,eAAe,CAAC,MAAW;QAEvC,OAAO,MAA6C,CAAA;IACxD,CAAC;;IAED,SAAgB,OAAO,CAAC,CAAS;QAE7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;;;;;QACD,CAAC"} \ No newline at end of file diff --git a/src/utils.ts b/src/utils.ts index c4e1b8a..f24fb7f 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,10 @@ import { ImVec4 } from "imgui-js"; +export function fromConstructor(constr: any):((params: any[]) => any) +{ + return constr as unknown as ((params: any[]) => any) +} + export function vec2col(v: ImVec4): number { return (((v.x * 255) & 0xFF) << 16) +