pixi_filters 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 19a61716bf2fc0f6c356f1478ab5e55bbc5c0075f2545d7c6d0036181366ecbc
4
+ data.tar.gz: 86e95b5a46b94b8047a8ec2d12cea9a4f4fb405071ca28b8211d964648b4c32e
5
+ SHA512:
6
+ metadata.gz: 7fb5e89d243c50590cb3568bb6cdb8cbe0b12366597bba2368b8c5cdb067a41e2a605dcb44f184fd6c9692ab210b86a126aa3ed65023b9a3fdb7ea5666b1f9a1
7
+ data.tar.gz: b95088e1c779c9722f5d48ff0dc2e2a396931ee5ba5a50a6d000802727dbb7a8b73e88c9b2cdbc6870c92c389a541060f726f5d3936a9d993fc70dabd2978551
Binary file
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.5.3
7
+ before_install: gem install bundler -v 1.17.2
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in pixi_filters.gemspec
6
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Chris Palmweaver
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,39 @@
1
+ # PixiFilters
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/pixi_filters`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'pixi_filters'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install pixi_filters
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/pixi_filters.
36
+
37
+ ## License
38
+
39
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "pixi_filters"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,8 @@
1
+ require "pixi_filters/version"
2
+
3
+ module PixiFilters
4
+ class Error < StandardError; end
5
+ class Engine < ::Rails::Engine;
6
+
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ module PixiFilters
2
+ VERSION = "0.1.1"
3
+ end
@@ -0,0 +1,28 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "pixi_filters/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "pixi_filters"
8
+ spec.version = PixiFilters::VERSION
9
+ spec.authors = ["Chris Scalf"]
10
+ spec.email = ["shrewdpixeldesign@gmail.com"]
11
+
12
+ spec.summary = %q{A gem for importing the pixi_spine.js canvas library into Rails projects.}
13
+ spec.homepage = "https://github.com/Palmweaver/pixi_filters"
14
+ spec.license = "MIT"
15
+
16
+ # Specify which files should be added to the gem when it is released.
17
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
+ end
21
+ spec.bindir = "exe"
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ["lib"]
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.17"
26
+ spec.add_development_dependency "rake", "~> 10.0"
27
+ spec.add_development_dependency "rspec", "~> 3.0"
28
+ end
Binary file
Binary file
File without changes
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * pixi-filters - v2.7.0
3
+ * Compiled Sun, 13 Jan 2019 22:51:52 UTC
4
+ *
5
+ * pixi-filters is licensed under the MIT License.
6
+ * http://www.opensource.org/licenses/mit-license
7
+ */
8
+ var __filters=function(e,t){"use strict";var n="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",r="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform float gamma;\nuniform float contrast;\nuniform float saturation;\nuniform float brightness;\nuniform float red;\nuniform float green;\nuniform float blue;\nuniform float alpha;\n\nvoid main(void)\n{\n vec4 c = texture2D(uSampler, vTextureCoord);\n\n if (c.a > 0.0) {\n c.rgb /= c.a;\n\n vec3 rgb = pow(c.rgb, vec3(1. / gamma));\n rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast);\n rgb.r *= red;\n rgb.g *= green;\n rgb.b *= blue;\n c.rgb = rgb * brightness;\n\n c.rgb *= c.a;\n }\n\n gl_FragColor = c * alpha;\n}\n",o=function(e){function t(t){e.call(this,n,r),Object.assign(this,{gamma:1,saturation:1,contrast:1,brightness:1,red:1,green:1,blue:1,alpha:1},t)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.apply=function(e,t,n,r){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,e.applyFilter(this,t,n,r)},t}(t.Filter),i=n,l="\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 uOffset;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample top right pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample bottom right pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Sample bottom left pixel\n color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Average\n color *= 0.25;\n\n gl_FragColor = color;\n}",s="\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 uOffset;\nuniform vec4 filterClamp;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Sample top right pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Sample bottom right pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Sample bottom left pixel\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));\n\n // Average\n color *= 0.25;\n\n gl_FragColor = color;\n}\n",a=function(e){function n(n,r,o){void 0===n&&(n=4),void 0===r&&(r=3),void 0===o&&(o=!1),e.call(this,i,o?s:l),this.uniforms.uOffset=new Float32Array(2),this._pixelSize=new t.Point,this.pixelSize=1,this._clamp=o,this._kernels=null,Array.isArray(n)?this.kernels=n:(this._blur=n,this.quality=r)}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={kernels:{configurable:!0},clamp:{configurable:!0},pixelSize:{configurable:!0},quality:{configurable:!0},blur:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){var o,i=this.pixelSize.x/t.size.width,l=this.pixelSize.y/t.size.height;if(1===this._quality||0===this._blur)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*i,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,t,n,r);else{for(var s,a=e.getRenderTarget(!0),u=t,c=a,f=this._quality-1,h=0;h<f;h++)o=this._kernels[h]+.5,this.uniforms.uOffset[0]=o*i,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,u,c,!0),s=u,u=c,c=s;o=this._kernels[f]+.5,this.uniforms.uOffset[0]=o*i,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,u,n,r),e.returnRenderTarget(a)}},n.prototype._generateKernels=function(){var e=this._blur,t=this._quality,n=[e];if(e>0)for(var r=e,o=e/t,i=1;i<t;i++)r-=o,n.push(r);this._kernels=n},r.kernels.get=function(){return this._kernels},r.kernels.set=function(e){Array.isArray(e)&&e.length>0?(this._kernels=e,this._quality=e.length,this._blur=Math.max.apply(Math,e)):(this._kernels=[0],this._quality=1)},r.clamp.get=function(){return this._clamp},r.pixelSize.set=function(e){"number"==typeof e?(this._pixelSize.x=e,this._pixelSize.y=e):Array.isArray(e)?(this._pixelSize.x=e[0],this._pixelSize.y=e[1]):e instanceof t.Point?(this._pixelSize.x=e.x,this._pixelSize.y=e.y):(this._pixelSize.x=1,this._pixelSize.y=1)},r.pixelSize.get=function(){return this._pixelSize},r.quality.get=function(){return this._quality},r.quality.set=function(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()},r.blur.get=function(){return this._blur},r.blur.set=function(e){this._blur=e,this._generateKernels()},Object.defineProperties(n.prototype,r),n}(t.Filter),u=n,c="\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform float threshold;\n\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccuracy , but good enought for this feature.\n float _max = max(max(color.r, color.g), color.b);\n float _min = min(min(color.r, color.g), color.b);\n float brightness = (_max + _min) * 0.5;\n\n if(brightness > threshold) {\n gl_FragColor = color;\n } else {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n}\n",f=function(e){function t(t){void 0===t&&(t=.5),e.call(this,u,c),this.threshold=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={threshold:{configurable:!0}};return n.threshold.get=function(){return this.uniforms.threshold},n.threshold.set=function(e){this.uniforms.threshold=e},Object.defineProperties(t.prototype,n),t}(t.Filter),h="uniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D bloomTexture;\nuniform float bloomScale;\nuniform float brightness;\n\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord);\n color.rgb *= brightness;\n vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0);\n bloomColor.rgb *= bloomScale;\n gl_FragColor = color + bloomColor;\n}\n",p=function(e){function n(n){e.call(this,u,h),"number"==typeof n&&(n={threshold:n}),n=Object.assign({threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:t.settings.RESOLUTION},n),this.bloomScale=n.bloomScale,this.brightness=n.brightness;var r=n.kernels,o=n.blur,i=n.quality,l=n.pixelSize,s=n.resolution;this._extractFilter=new f(n.threshold),this._extractFilter.resolution=s,this._blurFilter=r?new a(r):new a(o,i),this.pixelSize=l,this.resolution=s}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={resolution:{configurable:!0},threshold:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return n.prototype.apply=function(e,t,n,r,o){var i=e.getRenderTarget(!0);this._extractFilter.apply(e,t,i,!0,o);var l=e.getRenderTarget(!0);this._blurFilter.apply(e,i,l,!0,o),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=l,e.applyFilter(this,t,n,r),e.returnRenderTarget(l),e.returnRenderTarget(i)},r.resolution.get=function(){return this._resolution},r.resolution.set=function(e){this._resolution=e,this._extractFilter&&(this._extractFilter.resolution=e),this._blurFilter&&(this._blurFilter.resolution=e)},r.threshold.get=function(){return this._extractFilter.threshold},r.threshold.set=function(e){this._extractFilter.threshold=e},r.kernels.get=function(){return this._blurFilter.kernels},r.kernels.set=function(e){this._blurFilter.kernels=e},r.blur.get=function(){return this._blurFilter.blur},r.blur.set=function(e){this._blurFilter.blur=e},r.quality.get=function(){return this._blurFilter.quality},r.quality.set=function(e){this._blurFilter.quality=e},r.pixelSize.get=function(){return this._blurFilter.pixelSize},r.pixelSize.set=function(e){this._blurFilter.pixelSize=e},Object.defineProperties(n.prototype,r),n}(t.Filter),d=n,m="varying vec2 vTextureCoord;\n\nuniform vec4 filterArea;\nuniform float pixelSize;\nuniform sampler2D uSampler;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 pixelate(vec2 coord, vec2 size)\n{\n return floor( coord / size ) * size;\n}\n\nvec2 getMod(vec2 coord, vec2 size)\n{\n return mod( coord , size) / size;\n}\n\nfloat character(float n, vec2 p)\n{\n p = floor(p*vec2(4.0, -4.0) + 2.5);\n if (clamp(p.x, 0.0, 4.0) == p.x && clamp(p.y, 0.0, 4.0) == p.y)\n {\n if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;\n }\n return 0.0;\n}\n\nvoid main()\n{\n vec2 coord = mapCoord(vTextureCoord);\n\n // get the rounded color..\n vec2 pixCoord = pixelate(coord, vec2(pixelSize));\n pixCoord = unmapCoord(pixCoord);\n\n vec4 color = texture2D(uSampler, pixCoord);\n\n // determine the character to use\n float gray = (color.r + color.g + color.b) / 3.0;\n\n float n = 65536.0; // .\n if (gray > 0.2) n = 65600.0; // :\n if (gray > 0.3) n = 332772.0; // *\n if (gray > 0.4) n = 15255086.0; // o\n if (gray > 0.5) n = 23385164.0; // &\n if (gray > 0.6) n = 15252014.0; // 8\n if (gray > 0.7) n = 13199452.0; // @\n if (gray > 0.8) n = 11512810.0; // #\n\n // get the mod..\n vec2 modd = getMod(coord, vec2(pixelSize));\n\n gl_FragColor = color * character( n, vec2(-1.0) + modd * 2.0);\n\n}",g=function(e){function t(t){void 0===t&&(t=8),e.call(this,d,m),this.size=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={size:{configurable:!0}};return n.size.get=function(){return this.uniforms.pixelSize},n.size.set=function(e){this.uniforms.pixelSize=e},Object.defineProperties(t.prototype,n),t}(t.Filter),v=n,x="precision mediump float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform float transformX;\nuniform float transformY;\nuniform vec3 lightColor;\nuniform float lightAlpha;\nuniform vec3 shadowColor;\nuniform float shadowAlpha;\n\nvoid main(void) {\n vec2 transform = vec2(1.0 / filterArea) * vec2(transformX, transformY);\n vec4 color = texture2D(uSampler, vTextureCoord);\n float light = texture2D(uSampler, vTextureCoord - transform).a;\n float shadow = texture2D(uSampler, vTextureCoord + transform).a;\n\n color.rgb = mix(color.rgb, lightColor, clamp((color.a - light) * lightAlpha, 0.0, 1.0));\n color.rgb = mix(color.rgb, shadowColor, clamp((color.a - shadow) * shadowAlpha, 0.0, 1.0));\n gl_FragColor = vec4(color.rgb * color.a, color.a);\n}\n",y=function(e){function n(t){void 0===t&&(t={}),e.call(this,v,x),this.uniforms.lightColor=new Float32Array(3),this.uniforms.shadowColor=new Float32Array(3),t=Object.assign({rotation:45,thickness:2,lightColor:16777215,lightAlpha:.7,shadowColor:0,shadowAlpha:.7},t),this.rotation=t.rotation,this.thickness=t.thickness,this.lightColor=t.lightColor,this.lightAlpha=t.lightAlpha,this.shadowColor=t.shadowColor,this.shadowAlpha=t.shadowAlpha}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={rotation:{configurable:!0},thickness:{configurable:!0},lightColor:{configurable:!0},lightAlpha:{configurable:!0},shadowColor:{configurable:!0},shadowAlpha:{configurable:!0}};return n.prototype._updateTransform=function(){this.uniforms.transformX=this._thickness*Math.cos(this._angle),this.uniforms.transformY=this._thickness*Math.sin(this._angle)},r.rotation.get=function(){return this._angle/t.DEG_TO_RAD},r.rotation.set=function(e){this._angle=e*t.DEG_TO_RAD,this._updateTransform()},r.thickness.get=function(){return this._thickness},r.thickness.set=function(e){this._thickness=e,this._updateTransform()},r.lightColor.get=function(){return t.utils.rgb2hex(this.uniforms.lightColor)},r.lightColor.set=function(e){t.utils.hex2rgb(e,this.uniforms.lightColor)},r.lightAlpha.get=function(){return this.uniforms.lightAlpha},r.lightAlpha.set=function(e){this.uniforms.lightAlpha=e},r.shadowColor.get=function(){return t.utils.rgb2hex(this.uniforms.shadowColor)},r.shadowColor.set=function(e){t.utils.hex2rgb(e,this.uniforms.shadowColor)},r.shadowAlpha.get=function(){return this.uniforms.shadowAlpha},r.shadowAlpha.set=function(e){this.uniforms.shadowAlpha=e},Object.defineProperties(n.prototype,r),n}(t.Filter),b=t.filters,_=b.BlurXFilter,C=b.BlurYFilter,S=b.AlphaFilter,F=function(e){function n(n,r,o,i){var l,s;void 0===n&&(n=2),void 0===r&&(r=4),void 0===o&&(o=t.settings.RESOLUTION),void 0===i&&(i=5),e.call(this),"number"==typeof n?(l=n,s=n):n instanceof t.Point?(l=n.x,s=n.y):Array.isArray(n)&&(l=n[0],s=n[1]),this.blurXFilter=new _(l,r,o,i),this.blurYFilter=new C(s,r,o,i),this.blurYFilter.blendMode=t.BLEND_MODES.SCREEN,this.defaultFilter=new S}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={blur:{configurable:!0},blurX:{configurable:!0},blurY:{configurable:!0}};return n.prototype.apply=function(e,t,n){var r=e.getRenderTarget(!0);this.defaultFilter.apply(e,t,n),this.blurXFilter.apply(e,t,r),this.blurYFilter.apply(e,r,n),e.returnRenderTarget(r)},r.blur.get=function(){return this.blurXFilter.blur},r.blur.set=function(e){this.blurXFilter.blur=this.blurYFilter.blur=e},r.blurX.get=function(){return this.blurXFilter.blur},r.blurX.set=function(e){this.blurXFilter.blur=e},r.blurY.get=function(){return this.blurYFilter.blur},r.blurY.set=function(e){this.blurYFilter.blur=e},Object.defineProperties(n.prototype,r),n}(t.Filter),z=n,A="uniform float radius;\nuniform float strength;\nuniform vec2 center;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\n\nvoid main()\n{\n vec2 coord = vTextureCoord * filterArea.xy;\n coord -= center * dimensions.xy;\n float distance = length(coord);\n if (distance < radius) {\n float percent = distance / radius;\n if (strength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);\n }\n }\n coord += center * dimensions.xy;\n coord /= filterArea.xy;\n vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);\n vec4 color = texture2D(uSampler, clampedCoord);\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n gl_FragColor = color;\n}\n",w=function(e){function t(t,n,r){e.call(this,z,A),this.uniforms.dimensions=new Float32Array(2),this.center=t||[.5,.5],this.radius="number"==typeof n?n:100,this.strength="number"==typeof r?r:1}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={radius:{configurable:!0},strength:{configurable:!0},center:{configurable:!0}};return t.prototype.apply=function(e,t,n,r){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,e.applyFilter(this,t,n,r)},n.radius.get=function(){return this.uniforms.radius},n.radius.set=function(e){this.uniforms.radius=e},n.strength.get=function(){return this.uniforms.strength},n.strength.set=function(e){this.uniforms.strength=e},n.center.get=function(){return this.uniforms.center},n.center.set=function(e){this.uniforms.center=e},Object.defineProperties(t.prototype,n),t}(t.Filter),T=n,D="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform sampler2D colorMap;\nuniform float _mix;\nuniform float _size;\nuniform float _sliceSize;\nuniform float _slicePixelSize;\nuniform float _sliceInnerSize;\nvoid main() {\n vec4 color = texture2D(uSampler, vTextureCoord.xy);\n\n vec4 adjusted;\n if (color.a > 0.0) {\n color.rgb /= color.a;\n float innerWidth = _size - 1.0;\n float zSlice0 = min(floor(color.b * innerWidth), innerWidth);\n float zSlice1 = min(zSlice0 + 1.0, innerWidth);\n float xOffset = _slicePixelSize * 0.5 + color.r * _sliceInnerSize;\n float s0 = xOffset + (zSlice0 * _sliceSize);\n float s1 = xOffset + (zSlice1 * _sliceSize);\n float yOffset = _sliceSize * 0.5 + color.g * (1.0 - _sliceSize);\n vec4 slice0Color = texture2D(colorMap, vec2(s0,yOffset));\n vec4 slice1Color = texture2D(colorMap, vec2(s1,yOffset));\n float zOffset = fract(color.b * innerWidth);\n adjusted = mix(slice0Color, slice1Color, zOffset);\n\n color.rgb *= color.a;\n }\n gl_FragColor = vec4(mix(color, adjusted, _mix).rgb, color.a);\n\n}",O=function(e){function n(t,n,r){void 0===n&&(n=!1),void 0===r&&(r=1),e.call(this,T,D),this._size=0,this._sliceSize=0,this._slicePixelSize=0,this._sliceInnerSize=0,this._scaleMode=null,this._nearest=!1,this.nearest=n,this.mix=r,this.colorMap=t}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={colorSize:{configurable:!0},colorMap:{configurable:!0},nearest:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){this.uniforms._mix=this.mix,e.applyFilter(this,t,n,r)},r.colorSize.get=function(){return this._size},r.colorMap.get=function(){return this._colorMap},r.colorMap.set=function(e){e instanceof t.Texture||(e=t.Texture.from(e)),e&&e.baseTexture&&(e.baseTexture.scaleMode=this._scaleMode,e.baseTexture.mipmap=!1,this._size=e.height,this._sliceSize=1/this._size,this._slicePixelSize=this._sliceSize/this._size,this._sliceInnerSize=this._slicePixelSize*(this._size-1),this.uniforms._size=this._size,this.uniforms._sliceSize=this._sliceSize,this.uniforms._slicePixelSize=this._slicePixelSize,this.uniforms._sliceInnerSize=this._sliceInnerSize,this.uniforms.colorMap=e),this._colorMap=e},r.nearest.get=function(){return this._nearest},r.nearest.set=function(e){this._nearest=e,this._scaleMode=e?t.SCALE_MODES.NEAREST:t.SCALE_MODES.LINEAR;var n=this._colorMap;n&&n.baseTexture&&(n.baseTexture._glTextures={},n.baseTexture.scaleMode=this._scaleMode,n.baseTexture.mipmap=!1,n._updateID++,n.baseTexture.emit("update",n.baseTexture))},n.prototype.updateColorMap=function(){var e=this._colorMap;e&&e.baseTexture&&(e._updateID++,e.baseTexture.emit("update",e.baseTexture),this.colorMap=e)},n.prototype.destroy=function(t){this._colorMap&&this._colorMap.destroy(t),e.prototype.destroy.call(this)},Object.defineProperties(n.prototype,r),n}(t.Filter),P=n,M="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec3 originalColor;\nuniform vec3 newColor;\nuniform float epsilon;\nvoid main(void) {\n vec4 currentColor = texture2D(uSampler, vTextureCoord);\n vec3 colorDiff = originalColor - (currentColor.rgb / max(currentColor.a, 0.0000000001));\n float colorDistance = length(colorDiff);\n float doReplace = step(colorDistance, epsilon);\n gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a);\n}\n",R=function(e){function n(t,n,r){void 0===t&&(t=16711680),void 0===n&&(n=0),void 0===r&&(r=.4),e.call(this,P,M),this.uniforms.originalColor=new Float32Array(3),this.uniforms.newColor=new Float32Array(3),this.originalColor=t,this.newColor=n,this.epsilon=r}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={originalColor:{configurable:!0},newColor:{configurable:!0},epsilon:{configurable:!0}};return r.originalColor.set=function(e){var n=this.uniforms.originalColor;"number"==typeof e?(t.utils.hex2rgb(e,n),this._originalColor=e):(n[0]=e[0],n[1]=e[1],n[2]=e[2],this._originalColor=t.utils.rgb2hex(n))},r.originalColor.get=function(){return this._originalColor},r.newColor.set=function(e){var n=this.uniforms.newColor;"number"==typeof e?(t.utils.hex2rgb(e,n),this._newColor=e):(n[0]=e[0],n[1]=e[1],n[2]=e[2],this._newColor=t.utils.rgb2hex(n))},r.newColor.get=function(){return this._newColor},r.epsilon.set=function(e){this.uniforms.epsilon=e},r.epsilon.get=function(){return this.uniforms.epsilon},Object.defineProperties(n.prototype,r),n}(t.Filter),j=n,L="precision mediump float;\n\nvarying mediump vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec2 texelSize;\nuniform float matrix[9];\n\nvoid main(void)\n{\n vec4 c11 = texture2D(uSampler, vTextureCoord - texelSize); // top left\n vec4 c12 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - texelSize.y)); // top center\n vec4 c13 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y - texelSize.y)); // top right\n\n vec4 c21 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y)); // mid left\n vec4 c22 = texture2D(uSampler, vTextureCoord); // mid center\n vec4 c23 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y)); // mid right\n\n vec4 c31 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y + texelSize.y)); // bottom left\n vec4 c32 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + texelSize.y)); // bottom center\n vec4 c33 = texture2D(uSampler, vTextureCoord + texelSize); // bottom right\n\n gl_FragColor =\n c11 * matrix[0] + c12 * matrix[1] + c13 * matrix[2] +\n c21 * matrix[3] + c22 * matrix[4] + c23 * matrix[5] +\n c31 * matrix[6] + c32 * matrix[7] + c33 * matrix[8];\n\n gl_FragColor.a = c22.a;\n}\n",k=function(e){function t(t,n,r){void 0===n&&(n=200),void 0===r&&(r=200),e.call(this,j,L),this.uniforms.texelSize=new Float32Array(2),this.uniforms.matrix=new Float32Array(9),void 0!==t&&(this.matrix=t),this.width=n,this.height=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={matrix:{configurable:!0},width:{configurable:!0},height:{configurable:!0}};return n.matrix.get=function(){return this.uniforms.matrix},n.matrix.set=function(e){var t=this;e.forEach(function(e,n){return t.uniforms.matrix[n]=e})},n.width.get=function(){return 1/this.uniforms.texelSize[0]},n.width.set=function(e){this.uniforms.texelSize[0]=1/e},n.height.get=function(){return 1/this.uniforms.texelSize[1]},n.height.set=function(e){this.uniforms.texelSize[1]=1/e},Object.defineProperties(t.prototype,n),t}(t.Filter),I=n,E="precision mediump float;\n\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\n\nvoid main(void)\n{\n float lum = length(texture2D(uSampler, vTextureCoord.xy).rgb);\n\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n\n if (lum < 1.00)\n {\n if (mod(gl_FragCoord.x + gl_FragCoord.y, 10.0) == 0.0)\n {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n\n if (lum < 0.75)\n {\n if (mod(gl_FragCoord.x - gl_FragCoord.y, 10.0) == 0.0)\n {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n\n if (lum < 0.50)\n {\n if (mod(gl_FragCoord.x + gl_FragCoord.y - 5.0, 10.0) == 0.0)\n {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n\n if (lum < 0.3)\n {\n if (mod(gl_FragCoord.x - gl_FragCoord.y - 5.0, 10.0) == 0.0)\n {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n }\n }\n}\n",B=function(e){function t(){e.call(this,I,E)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(t.Filter),X=n,q="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nconst float SQRT_2 = 1.414213;\n\nconst float light = 1.0;\n\nuniform float curvature;\nuniform float lineWidth;\nuniform float lineContrast;\nuniform bool verticalLine;\nuniform float noise;\nuniform float noiseSize;\n\nuniform float vignetting;\nuniform float vignettingAlpha;\nuniform float vignettingBlur;\n\nuniform float seed;\nuniform float time;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n vec2 coord = pixelCoord / dimensions;\n\n vec2 dir = vec2(coord - vec2(0.5, 0.5));\n\n float _c = curvature > 0. ? curvature : 1.;\n float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;\n vec2 uv = dir * k;\n\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n vec3 rgb = gl_FragColor.rgb;\n\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\n rgb += _noise * noise;\n }\n\n if (lineWidth > 0.0) {\n float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c;\n float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast;\n rgb *= j;\n float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.);\n rgb *= 0.99 + ceil(segment) * 0.015;\n }\n\n if (vignetting > 0.0)\n {\n float outter = SQRT_2 - vignetting * SQRT_2;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\n rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\n }\n\n gl_FragColor.rgb = rgb;\n}\n",N=function(e){function t(t){e.call(this,X,q),this.uniforms.dimensions=new Float32Array(2),this.time=0,this.seed=0,Object.assign(this,{curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0},t)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={curvature:{configurable:!0},lineWidth:{configurable:!0},lineContrast:{configurable:!0},verticalLine:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return t.prototype.apply=function(e,t,n,r){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,this.uniforms.seed=this.seed,this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},n.curvature.set=function(e){this.uniforms.curvature=e},n.curvature.get=function(){return this.uniforms.curvature},n.lineWidth.set=function(e){this.uniforms.lineWidth=e},n.lineWidth.get=function(){return this.uniforms.lineWidth},n.lineContrast.set=function(e){this.uniforms.lineContrast=e},n.lineContrast.get=function(){return this.uniforms.lineContrast},n.verticalLine.set=function(e){this.uniforms.verticalLine=e},n.verticalLine.get=function(){return this.uniforms.verticalLine},n.noise.set=function(e){this.uniforms.noise=e},n.noise.get=function(){return this.uniforms.noise},n.noiseSize.set=function(e){this.uniforms.noiseSize=e},n.noiseSize.get=function(){return this.uniforms.noiseSize},n.vignetting.set=function(e){this.uniforms.vignetting=e},n.vignetting.get=function(){return this.uniforms.vignetting},n.vignettingAlpha.set=function(e){this.uniforms.vignettingAlpha=e},n.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},n.vignettingBlur.set=function(e){this.uniforms.vignettingBlur=e},n.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(t.prototype,n),t}(t.Filter),W=n,G="precision mediump float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform vec4 filterArea;\nuniform sampler2D uSampler;\n\nuniform float angle;\nuniform float scale;\n\nfloat pattern()\n{\n float s = sin(angle), c = cos(angle);\n vec2 tex = vTextureCoord * filterArea.xy;\n vec2 point = vec2(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * scale;\n return (sin(point.x) * sin(point.y)) * 4.0;\n}\n\nvoid main()\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n float average = (color.r + color.g + color.b) / 3.0;\n gl_FragColor = vec4(vec3(average * 10.0 - 5.0 + pattern()), color.a);\n}\n",K=function(e){function t(t,n){void 0===t&&(t=1),void 0===n&&(n=5),e.call(this,W,G),this.scale=t,this.angle=n}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={scale:{configurable:!0},angle:{configurable:!0}};return n.scale.get=function(){return this.uniforms.scale},n.scale.set=function(e){this.uniforms.scale=e},n.angle.get=function(){return this.uniforms.angle},n.angle.set=function(e){this.uniforms.angle=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Y=n,Q="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float alpha;\nuniform vec3 color;\nvoid main(void){\n vec4 sample = texture2D(uSampler, vTextureCoord);\n\n // Un-premultiply alpha before applying the color\n if (sample.a > 0.0) {\n sample.rgb /= sample.a;\n }\n\n // Premultiply alpha again\n sample.rgb = color.rgb * sample.a;\n\n // alpha user alpha\n sample *= alpha;\n\n gl_FragColor = sample;\n}",U=function(e){function n(n){n&&n.constructor!==Object&&(console.warn("DropShadowFilter now uses options instead of (rotation, distance, blur, color, alpha)"),n={rotation:n},void 0!==arguments[1]&&(n.distance=arguments[1]),void 0!==arguments[2]&&(n.blur=arguments[2]),void 0!==arguments[3]&&(n.color=arguments[3]),void 0!==arguments[4]&&(n.alpha=arguments[4])),n=Object.assign({rotation:45,distance:5,color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:t.settings.RESOLUTION},n),e.call(this);var r=n.kernels,o=n.blur,i=n.quality,l=n.pixelSize,s=n.resolution;this._tintFilter=new t.Filter(Y,Q),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.resolution=s,this._blurFilter=r?new a(r):new a(o,i),this.pixelSize=l,this.resolution=s,this.targetTransform=new t.Matrix;var u=n.shadowOnly,c=n.rotation,f=n.distance,h=n.alpha,p=n.color;this.shadowOnly=u,this.rotation=c,this.distance=f,this.alpha=h,this.color=p,this._updatePadding()}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={resolution:{configurable:!0},distance:{configurable:!0},rotation:{configurable:!0},alpha:{configurable:!0},color:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){var o=e.getRenderTarget();o.transform=this.targetTransform,this._tintFilter.apply(e,t,o,!0),o.transform=null,this._blurFilter.apply(e,o,n,r),!0!==this.shadowOnly&&e.applyFilter(this,t,n,!1),e.returnRenderTarget(o)},n.prototype._updatePadding=function(){this.padding=this.distance+2*this.blur},n.prototype._updateTargetTransform=function(){this.targetTransform.tx=this.distance*Math.cos(this.angle),this.targetTransform.ty=this.distance*Math.sin(this.angle)},r.resolution.get=function(){return this._resolution},r.resolution.set=function(e){this._resolution=e,this._tintFilter&&(this._tintFilter.resolution=e),this._blurFilter&&(this._blurFilter.resolution=e)},r.distance.get=function(){return this._distance},r.distance.set=function(e){this._distance=e,this._updatePadding(),this._updateTargetTransform()},r.rotation.get=function(){return this.angle/t.DEG_TO_RAD},r.rotation.set=function(e){this.angle=e*t.DEG_TO_RAD,this._updateTargetTransform()},r.alpha.get=function(){return this._tintFilter.uniforms.alpha},r.alpha.set=function(e){this._tintFilter.uniforms.alpha=e},r.color.get=function(){return t.utils.rgb2hex(this._tintFilter.uniforms.color)},r.color.set=function(e){t.utils.hex2rgb(e,this._tintFilter.uniforms.color)},r.kernels.get=function(){return this._blurFilter.kernels},r.kernels.set=function(e){this._blurFilter.kernels=e},r.blur.get=function(){return this._blurFilter.blur},r.blur.set=function(e){this._blurFilter.blur=e,this._updatePadding()},r.quality.get=function(){return this._blurFilter.quality},r.quality.set=function(e){this._blurFilter.quality=e},r.pixelSize.get=function(){return this._blurFilter.pixelSize},r.pixelSize.set=function(e){this._blurFilter.pixelSize=e},Object.defineProperties(n.prototype,r),n}(t.Filter),Z=n,V="precision mediump float;\n\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float strength;\nuniform vec4 filterArea;\n\n\nvoid main(void)\n{\n\tvec2 onePixel = vec2(1.0 / filterArea);\n\n\tvec4 color;\n\n\tcolor.rgb = vec3(0.5);\n\n\tcolor -= texture2D(uSampler, vTextureCoord - onePixel) * strength;\n\tcolor += texture2D(uSampler, vTextureCoord + onePixel) * strength;\n\n\tcolor.rgb = vec3((color.r + color.g + color.b) / 3.0);\n\n\tfloat alpha = texture2D(uSampler, vTextureCoord).a;\n\n\tgl_FragColor = vec4(color.rgb * alpha, alpha);\n}\n",H=function(e){function t(t){void 0===t&&(t=5),e.call(this,Z,V),this.strength=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={strength:{configurable:!0}};return n.strength.get=function(){return this.uniforms.strength},n.strength.set=function(e){this.uniforms.strength=e},Object.defineProperties(t.prototype,n),t}(t.Filter),$=n,J="// precision highp float;\n\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\nuniform float aspect;\n\nuniform sampler2D displacementMap;\nuniform float offset;\nuniform float sinDir;\nuniform float cosDir;\nuniform int fillMode;\n\nuniform float seed;\nuniform vec2 red;\nuniform vec2 green;\nuniform vec2 blue;\n\nconst int TRANSPARENT = 0;\nconst int ORIGINAL = 1;\nconst int LOOP = 2;\nconst int CLAMP = 3;\nconst int MIRROR = 4;\n\nvoid main(void)\n{\n vec2 coord = (vTextureCoord * filterArea.xy) / dimensions;\n\n if (coord.x > 1.0 || coord.y > 1.0) {\n return;\n }\n\n float cx = coord.x - 0.5;\n float cy = (coord.y - 0.5) * aspect;\n float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5;\n\n // displacementMap: repeat\n // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);\n\n // displacementMap: mirror\n ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);\n\n vec4 dc = texture2D(displacementMap, vec2(0.5, ny));\n\n float displacement = (dc.r - dc.g) * (offset / filterArea.x);\n\n coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * aspect);\n\n if (fillMode == CLAMP) {\n coord = clamp(coord, filterClamp.xy, filterClamp.zw);\n } else {\n if( coord.x > filterClamp.z ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.x -= filterClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = filterClamp.z * 2.0 - coord.x;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n } else if( coord.x < filterClamp.x ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.x += filterClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x *= -filterClamp.z;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n }\n\n if( coord.y > filterClamp.w ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.y -= filterClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = filterClamp.w * 2.0 - coord.y;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n } else if( coord.y < filterClamp.y ) {\n if (fillMode == ORIGINAL) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n } else if (fillMode == LOOP) {\n coord.y += filterClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y *= -filterClamp.w;\n } else {\n gl_FragColor = vec4(0., 0., 0., 0.);\n return;\n }\n }\n }\n\n gl_FragColor.r = texture2D(uSampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r;\n gl_FragColor.g = texture2D(uSampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g;\n gl_FragColor.b = texture2D(uSampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b;\n gl_FragColor.a = texture2D(uSampler, coord).a;\n}\n",ee=function(e){function n(n){void 0===n&&(n={}),e.call(this,$,J),this.uniforms.dimensions=new Float32Array(2),n=Object.assign({slices:5,offset:100,direction:0,fillMode:0,average:!1,seed:0,red:[0,0],green:[0,0],blue:[0,0],minSize:8,sampleSize:512},n),this.direction=n.direction,this.red=n.red,this.green=n.green,this.blue=n.blue,this.offset=n.offset,this.fillMode=n.fillMode,this.average=n.average,this.seed=n.seed,this.minSize=n.minSize,this.sampleSize=n.sampleSize,this._canvas=document.createElement("canvas"),this._canvas.width=4,this._canvas.height=this.sampleSize,this.texture=t.Texture.fromCanvas(this._canvas,t.SCALE_MODES.NEAREST),this._slices=0,this.slices=n.slices}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={sizes:{configurable:!0},offsets:{configurable:!0},slices:{configurable:!0},direction:{configurable:!0},red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){var o=t.sourceFrame.width,i=t.sourceFrame.height;this.uniforms.dimensions[0]=o,this.uniforms.dimensions[1]=i,this.uniforms.aspect=i/o,this.uniforms.seed=this.seed,this.uniforms.offset=this.offset,this.uniforms.fillMode=this.fillMode,e.applyFilter(this,t,n,r)},n.prototype._randomizeSizes=function(){var e=this._sizes,t=this._slices-1,n=this.sampleSize,r=Math.min(this.minSize/n,.9/this._slices);if(this.average){for(var o=this._slices,i=1,l=0;l<t;l++){var s=i/(o-l),a=Math.max(s*(1-.6*Math.random()),r);e[l]=a,i-=a}e[t]=i}else{for(var u=1,c=Math.sqrt(1/this._slices),f=0;f<t;f++){var h=Math.max(c*u*Math.random(),r);e[f]=h,u-=h}e[t]=u}this.shuffle()},n.prototype.shuffle=function(){for(var e=this._sizes,t=this._slices-1;t>0;t--){var n=Math.random()*t>>0,r=e[t];e[t]=e[n],e[n]=r}},n.prototype._randomizeOffsets=function(){for(var e=0;e<this._slices;e++)this._offsets[e]=Math.random()*(Math.random()<.5?-1:1)},n.prototype.refresh=function(){this._randomizeSizes(),this._randomizeOffsets(),this.redraw()},n.prototype.redraw=function(){var e,t=this.sampleSize,n=this.texture,r=this._canvas.getContext("2d");r.clearRect(0,0,8,t);for(var o=0,i=0;i<this._slices;i++){e=Math.floor(256*this._offsets[i]);var l=this._sizes[i]*t,s=e>0?e:0,a=e<0?-e:0;r.fillStyle="rgba("+s+", "+a+", 0, 1)",r.fillRect(0,o>>0,t,l+1>>0),o+=l}n.baseTexture.update(),this.uniforms.displacementMap=n},r.sizes.set=function(e){for(var t=Math.min(this._slices,e.length),n=0;n<t;n++)this._sizes[n]=e[n]},r.sizes.get=function(){return this._sizes},r.offsets.set=function(e){for(var t=Math.min(this._slices,e.length),n=0;n<t;n++)this._offsets[n]=e[n]},r.offsets.get=function(){return this._offsets},r.slices.get=function(){return this._slices},r.slices.set=function(e){this._slices!==e&&(this._slices=e,this.uniforms.slices=e,this._sizes=this.uniforms.slicesWidth=new Float32Array(e),this._offsets=this.uniforms.slicesOffset=new Float32Array(e),this.refresh())},r.direction.get=function(){return this._direction},r.direction.set=function(e){if(this._direction!==e){this._direction=e;var n=e*t.DEG_TO_RAD;this.uniforms.sinDir=Math.sin(n),this.uniforms.cosDir=Math.cos(n)}},r.red.get=function(){return this.uniforms.red},r.red.set=function(e){this.uniforms.red=e},r.green.get=function(){return this.uniforms.green},r.green.set=function(e){this.uniforms.green=e},r.blue.get=function(){return this.uniforms.blue},r.blue.set=function(e){this.uniforms.blue=e},n.prototype.destroy=function(){this.texture.destroy(!0),this.texture=null,this._canvas=null,this.red=null,this.green=null,this.blue=null,this._sizes=null,this._offsets=null},Object.defineProperties(n.prototype,r),n}(t.Filter);ee.TRANSPARENT=0,ee.ORIGINAL=1,ee.LOOP=2,ee.CLAMP=3,ee.MIRROR=4;var te=n,ne="varying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform sampler2D uSampler;\n\nuniform float distance;\nuniform float outerStrength;\nuniform float innerStrength;\nuniform vec4 glowColor;\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nconst float PI = 3.14159265358979323846264;\n\nvoid main(void) {\n vec2 px = vec2(1.0 / filterArea.x, 1.0 / filterArea.y);\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\n vec4 curColor;\n float totalAlpha = 0.0;\n float maxTotalAlpha = 0.0;\n float cosAngle;\n float sinAngle;\n vec2 displaced;\n for (float angle = 0.0; angle <= PI * 2.0; angle += %QUALITY_DIST%) {\n cosAngle = cos(angle);\n sinAngle = sin(angle);\n for (float curDistance = 1.0; curDistance <= %DIST%; curDistance++) {\n displaced.x = vTextureCoord.x + cosAngle * curDistance * px.x;\n displaced.y = vTextureCoord.y + sinAngle * curDistance * px.y;\n curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw));\n totalAlpha += (distance - curDistance) * curColor.a;\n maxTotalAlpha += (distance - curDistance);\n }\n }\n maxTotalAlpha = max(maxTotalAlpha, 0.0001);\n\n ownColor.a = max(ownColor.a, 0.0001);\n ownColor.rgb = ownColor.rgb / ownColor.a;\n float outerGlowAlpha = (totalAlpha / maxTotalAlpha) * outerStrength * (1. - ownColor.a);\n float innerGlowAlpha = ((maxTotalAlpha - totalAlpha) / maxTotalAlpha) * innerStrength * ownColor.a;\n float resultAlpha = (ownColor.a + outerGlowAlpha);\n gl_FragColor = vec4(mix(mix(ownColor.rgb, glowColor.rgb, innerGlowAlpha / ownColor.a), glowColor.rgb, outerGlowAlpha / resultAlpha) * resultAlpha, resultAlpha);\n}\n",re=function(e){function n(t,n,r,o,i){void 0===t&&(t=10),void 0===n&&(n=4),void 0===r&&(r=0),void 0===o&&(o=16777215),void 0===i&&(i=.1),e.call(this,te,ne.replace(/%QUALITY_DIST%/gi,""+(1/i/t).toFixed(7)).replace(/%DIST%/gi,""+t.toFixed(7))),this.uniforms.glowColor=new Float32Array([0,0,0,1]),this.distance=t,this.color=o,this.outerStrength=n,this.innerStrength=r}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={color:{configurable:!0},distance:{configurable:!0},outerStrength:{configurable:!0},innerStrength:{configurable:!0}};return r.color.get=function(){return t.utils.rgb2hex(this.uniforms.glowColor)},r.color.set=function(e){t.utils.hex2rgb(e,this.uniforms.glowColor)},r.distance.get=function(){return this.uniforms.distance},r.distance.set=function(e){this.uniforms.distance=e},r.outerStrength.get=function(){return this.uniforms.outerStrength},r.outerStrength.set=function(e){this.uniforms.outerStrength=e},r.innerStrength.get=function(){return this.uniforms.innerStrength},r.innerStrength.set=function(e){this.uniforms.innerStrength=e},Object.defineProperties(n.prototype,r),n}(t.Filter),oe=n,ie="vec3 mod289(vec3 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 mod289(vec4 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 permute(vec4 x)\n{\n return mod289(((x * 34.0) + 1.0) * x);\n}\nvec4 taylorInvSqrt(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nvec3 fade(vec3 t)\n{\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n}\n// Classic Perlin noise, periodic variant\nfloat pnoise(vec3 P, vec3 rep)\n{\n vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\n vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\n Pi0 = mod289(Pi0);\n Pi1 = mod289(Pi1);\n vec3 Pf0 = fract(P); // Fractional part for interpolation\n vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\n vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n vec4 iy = vec4(Pi0.yy, Pi1.yy);\n vec4 iz0 = Pi0.zzzz;\n vec4 iz1 = Pi1.zzzz;\n vec4 ixy = permute(permute(ix) + iy);\n vec4 ixy0 = permute(ixy + iz0);\n vec4 ixy1 = permute(ixy + iz1);\n vec4 gx0 = ixy0 * (1.0 / 7.0);\n vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n gx0 = fract(gx0);\n vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n vec4 sz0 = step(gz0, vec4(0.0));\n gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n vec4 gx1 = ixy1 * (1.0 / 7.0);\n vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n gx1 = fract(gx1);\n vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n vec4 sz1 = step(gz1, vec4(0.0));\n gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);\n vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);\n vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);\n vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);\n vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);\n vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);\n vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);\n vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);\n vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n g000 *= norm0.x;\n g010 *= norm0.y;\n g100 *= norm0.z;\n g110 *= norm0.w;\n vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n g001 *= norm1.x;\n g011 *= norm1.y;\n g101 *= norm1.z;\n g111 *= norm1.w;\n float n000 = dot(g000, Pf0);\n float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n float n111 = dot(g111, Pf1);\n vec3 fade_xyz = fade(Pf0);\n vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);\n return 2.2 * n_xyz;\n}\nfloat turb(vec3 P, vec3 rep, float lacunarity, float gain)\n{\n float sum = 0.0;\n float sc = 1.0;\n float totalgain = 1.0;\n for (float i = 0.0; i < 6.0; i++)\n {\n sum += totalgain * pnoise(P * sc, rep);\n sc *= lacunarity;\n totalgain *= gain;\n }\n return abs(sum);\n}\n",le="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nuniform vec2 light;\nuniform bool parallel;\nuniform float aspect;\n\nuniform float gain;\nuniform float lacunarity;\nuniform float time;\n\n${perlin}\n\nvoid main(void) {\n vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;\n\n float d;\n\n if (parallel) {\n float _cos = light.x;\n float _sin = light.y;\n d = (_cos * coord.x) + (_sin * coord.y * aspect);\n } else {\n float dx = coord.x - light.x / dimensions.x;\n float dy = (coord.y - light.y / dimensions.y) * aspect;\n float dis = sqrt(dx * dx + dy * dy) + 0.00001;\n d = dy / dis;\n }\n\n vec3 dir = vec3(d, d, 0.0);\n\n float noise = turb(dir + vec3(time, 0.0, 62.1 + time) * 0.05, vec3(480.0, 320.0, 480.0), lacunarity, gain);\n noise = mix(noise, 0.0, 0.3);\n //fade vertically.\n vec4 mist = vec4(noise, noise, noise, 1.0) * (1.0 - coord.y);\n mist.a = 1.0;\n\n gl_FragColor = texture2D(uSampler, vTextureCoord) + mist;\n}\n",se=function(e){function n(n){e.call(this,oe,le.replace("${perlin}",ie)),this.uniforms.dimensions=new Float32Array(2),"number"==typeof n&&(console.warn("GodrayFilter now uses options instead of (angle, gain, lacunarity, time)"),n={angle:n},void 0!==arguments[1]&&(n.gain=arguments[1]),void 0!==arguments[2]&&(n.lacunarity=arguments[2]),void 0!==arguments[3]&&(n.time=arguments[3])),n=Object.assign({angle:30,gain:.5,lacunarity:2.5,time:0,parallel:!0,center:[0,0]},n),this._angleLight=new t.Point,this.angle=n.angle,this.gain=n.gain,this.lacunarity=n.lacunarity,this.parallel=n.parallel,this.center=n.center,this.time=n.time}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={angle:{configurable:!0},gain:{configurable:!0},lacunarity:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){var o=t.sourceFrame,i=o.width,l=o.height;this.uniforms.light=this.parallel?this._angleLight:this.center,this.uniforms.parallel=this.parallel,this.uniforms.dimensions[0]=i,this.uniforms.dimensions[1]=l,this.uniforms.aspect=l/i,this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},r.angle.get=function(){return this._angle},r.angle.set=function(e){this._angle=e;var n=e*t.DEG_TO_RAD;this._angleLight.x=Math.cos(n),this._angleLight.y=Math.sin(n)},r.gain.get=function(){return this.uniforms.gain},r.gain.set=function(e){this.uniforms.gain=e},r.lacunarity.get=function(){return this.uniforms.lacunarity},r.lacunarity.set=function(e){this.uniforms.lacunarity=e},Object.defineProperties(n.prototype,r),n}(t.Filter),ae=n,ue="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform vec2 uVelocity;\nuniform int uKernelSize;\nuniform float uOffset;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\n// Notice:\n// the perfect way:\n// int kernelSize = min(uKernelSize, MAX_KERNELSIZE);\n// BUT in real use-case , uKernelSize < MAX_KERNELSIZE almost always.\n// So use uKernelSize directly.\n\nvoid main(void)\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n gl_FragColor = color;\n return;\n }\n\n vec2 velocity = uVelocity / filterArea.xy;\n float offset = -uOffset / length(uVelocity) - 0.5;\n int k = uKernelSize - 1;\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n vec2 bias = velocity * (float(i) / float(k) + offset);\n color += texture2D(uSampler, vTextureCoord + bias);\n }\n gl_FragColor = color / float(uKernelSize);\n}\n",ce=function(e){function n(n,r,o){void 0===n&&(n=[0,0]),void 0===r&&(r=5),void 0===o&&(o=0),e.call(this,ae,ue),this.uniforms.uVelocity=new Float32Array(2),this._velocity=new t.ObservablePoint(this.velocityChanged,this),this.velocity=n,this.kernelSize=r,this.offset=o}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={velocity:{configurable:!0},offset:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){var o=this.velocity,i=o.x,l=o.y;this.uniforms.uKernelSize=0!==i||0!==l?this.kernelSize:0,e.applyFilter(this,t,n,r)},r.velocity.set=function(e){Array.isArray(e)?this._velocity.set(e[0],e[1]):(e instanceof t.Point||e instanceof t.ObservablePoint)&&this._velocity.copy(e)},r.velocity.get=function(){return this._velocity},n.prototype.velocityChanged=function(){this.uniforms.uVelocity[0]=this._velocity.x,this.uniforms.uVelocity[1]=this._velocity.y},r.offset.set=function(e){this.uniforms.uOffset=e},r.offset.get=function(){return this.uniforms.uOffset},Object.defineProperties(n.prototype,r),n}(t.Filter),fe=n,he="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform float epsilon;\n\nconst int MAX_COLORS = %maxColors%;\n\nuniform vec3 originalColors[MAX_COLORS];\nuniform vec3 targetColors[MAX_COLORS];\n\nvoid main(void)\n{\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n\n float alpha = gl_FragColor.a;\n if (alpha < 0.0001)\n {\n return;\n }\n\n vec3 color = gl_FragColor.rgb / alpha;\n\n for(int i = 0; i < MAX_COLORS; i++)\n {\n vec3 origColor = originalColors[i];\n if (origColor.r < 0.0)\n {\n break;\n }\n vec3 colorDiff = origColor - color;\n if (length(colorDiff) < epsilon)\n {\n vec3 targetColor = targetColors[i];\n gl_FragColor = vec4((targetColor + colorDiff) * alpha, alpha);\n return;\n }\n }\n}\n",pe=function(e){function n(t,n,r){void 0===n&&(n=.05),void 0===r&&(r=null),r=r||t.length,e.call(this,fe,he.replace(/%maxColors%/g,r)),this.epsilon=n,this._maxColors=r,this._replacements=null,this.uniforms.originalColors=new Float32Array(3*r),this.uniforms.targetColors=new Float32Array(3*r),this.replacements=t}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={replacements:{configurable:!0},maxColors:{configurable:!0},epsilon:{configurable:!0}};return r.replacements.set=function(e){var n=this.uniforms.originalColors,r=this.uniforms.targetColors,o=e.length;if(o>this._maxColors)throw"Length of replacements ("+o+") exceeds the maximum colors length ("+this._maxColors+")";n[3*o]=-1;for(var i=0;i<o;i++){var l=e[i],s=l[0];"number"==typeof s?s=t.utils.hex2rgb(s):l[0]=t.utils.rgb2hex(s),n[3*i]=s[0],n[3*i+1]=s[1],n[3*i+2]=s[2];var a=l[1];"number"==typeof a?a=t.utils.hex2rgb(a):l[1]=t.utils.rgb2hex(a),r[3*i]=a[0],r[3*i+1]=a[1],r[3*i+2]=a[2]}this._replacements=e},r.replacements.get=function(){return this._replacements},n.prototype.refresh=function(){this.replacements=this._replacements},r.maxColors.get=function(){return this._maxColors},r.epsilon.set=function(e){this.uniforms.epsilon=e},r.epsilon.get=function(){return this.uniforms.epsilon},Object.defineProperties(n.prototype,r),n}(t.Filter),de=n,me="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 dimensions;\n\nuniform float sepia;\nuniform float noise;\nuniform float noiseSize;\nuniform float scratch;\nuniform float scratchDensity;\nuniform float scratchWidth;\nuniform float vignetting;\nuniform float vignettingAlpha;\nuniform float vignettingBlur;\nuniform float seed;\n\nconst float SQRT_2 = 1.414213;\nconst vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvec3 Overlay(vec3 src, vec3 dst)\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),\n (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),\n (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));\n}\n\n\nvoid main()\n{\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n vec3 color = gl_FragColor.rgb;\n\n if (sepia > 0.0)\n {\n float gray = (color.x + color.y + color.z) / 3.0;\n vec3 grayscale = vec3(gray);\n\n color = Overlay(SEPIA_RGB, grayscale);\n\n color = grayscale + sepia * (color - grayscale);\n }\n\n vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;\n\n if (vignetting > 0.0)\n {\n float outter = SQRT_2 - vignetting * SQRT_2;\n vec2 dir = vec2(vec2(0.5, 0.5) - coord);\n dir.y *= dimensions.y / dimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\n color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\n }\n\n if (scratchDensity > seed && scratch != 0.0)\n {\n float phase = seed * 256.0;\n float s = mod(floor(phase), 2.0);\n float dist = 1.0 / scratchDensity;\n float d = distance(coord, vec2(seed * dist, abs(s - seed * dist)));\n if (d < seed * 0.6 + 0.4)\n {\n highp float period = scratchDensity * 10.0;\n\n float xx = coord.x * period + phase;\n float aa = abs(mod(xx, 0.5) * 4.0);\n float bb = mod(floor(xx / 0.5), 2.0);\n float yy = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n float kk = 2.0 * period;\n float dw = scratchWidth / dimensions.x * (0.75 + seed);\n float dh = dw * kk;\n\n float tine = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n float _sign = sign(scratch);\n\n tine = s * tine / period + scratch + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color.rgb *= tine;\n }\n }\n }\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0);\n // float _noise = snoise(d) * 0.5;\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\n color += _noise * noise;\n }\n\n gl_FragColor.rgb = color;\n}\n",ge=function(e){function t(t,n){void 0===n&&(n=0),e.call(this,de,me),this.uniforms.dimensions=new Float32Array(2),"number"==typeof t?(this.seed=t,t=null):this.seed=n,Object.assign(this,{sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3},t)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={sepia:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},scratch:{configurable:!0},scratchDensity:{configurable:!0},scratchWidth:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return t.prototype.apply=function(e,t,n,r){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,this.uniforms.seed=this.seed,e.applyFilter(this,t,n,r)},n.sepia.set=function(e){this.uniforms.sepia=e},n.sepia.get=function(){return this.uniforms.sepia},n.noise.set=function(e){this.uniforms.noise=e},n.noise.get=function(){return this.uniforms.noise},n.noiseSize.set=function(e){this.uniforms.noiseSize=e},n.noiseSize.get=function(){return this.uniforms.noiseSize},n.scratch.set=function(e){this.uniforms.scratch=e},n.scratch.get=function(){return this.uniforms.scratch},n.scratchDensity.set=function(e){this.uniforms.scratchDensity=e},n.scratchDensity.get=function(){return this.uniforms.scratchDensity},n.scratchWidth.set=function(e){this.uniforms.scratchWidth=e},n.scratchWidth.get=function(){return this.uniforms.scratchWidth},n.vignetting.set=function(e){this.uniforms.vignetting=e},n.vignetting.get=function(){return this.uniforms.vignetting},n.vignettingAlpha.set=function(e){this.uniforms.vignettingAlpha=e},n.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},n.vignettingBlur.set=function(e){this.uniforms.vignettingBlur=e},n.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(t.prototype,n),t}(t.Filter),ve=n,xe="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec2 thickness;\nuniform vec4 outlineColor;\nuniform vec4 filterClamp;\n\nconst float DOUBLE_PI = 3.14159265358979323846264 * 2.;\n\nvoid main(void) {\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\n vec4 curColor;\n float maxAlpha = 0.;\n vec2 displaced;\n for (float angle = 0.; angle <= DOUBLE_PI; angle += ${angleStep}) {\n displaced.x = vTextureCoord.x + thickness.x * cos(angle);\n displaced.y = vTextureCoord.y + thickness.y * sin(angle);\n curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw));\n maxAlpha = max(maxAlpha, curColor.a);\n }\n float resultAlpha = max(maxAlpha, ownColor.a);\n gl_FragColor = vec4((ownColor.rgb + outlineColor.rgb * (1. - ownColor.a)) * resultAlpha, resultAlpha);\n}\n",ye=function(e){function n(t,r,o){void 0===t&&(t=1),void 0===r&&(r=0),void 0===o&&(o=.1);var i=Math.max(o*n.MAX_SAMPLES,n.MIN_SAMPLES),l=(2*Math.PI/i).toFixed(7);e.call(this,ve,xe.replace(/\$\{angleStep\}/,l)),this.uniforms.thickness=new Float32Array([0,0]),this.thickness=t,this.uniforms.outlineColor=new Float32Array([0,0,0,1]),this.color=r,this.quality=o}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={color:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){this.uniforms.thickness[0]=this.thickness/t.size.width,this.uniforms.thickness[1]=this.thickness/t.size.height,e.applyFilter(this,t,n,r)},r.color.get=function(){return t.utils.rgb2hex(this.uniforms.outlineColor)},r.color.set=function(e){t.utils.hex2rgb(e,this.uniforms.outlineColor)},Object.defineProperties(n.prototype,r),n}(t.Filter);ye.MIN_SAMPLES=1,ye.MAX_SAMPLES=100;var be=n,_e="precision mediump float;\n\nvarying vec2 vTextureCoord;\n\nuniform vec2 size;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 pixelate(vec2 coord, vec2 size)\n{\n\treturn floor( coord / size ) * size;\n}\n\nvoid main(void)\n{\n vec2 coord = mapCoord(vTextureCoord);\n\n coord = pixelate(coord, size);\n\n coord = unmapCoord(coord);\n\n gl_FragColor = texture2D(uSampler, coord);\n}\n",Ce=function(e){function t(t){void 0===t&&(t=10),e.call(this,be,_e),this.size=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={size:{configurable:!0}};return n.size.get=function(){return this.uniforms.size},n.size.set=function(e){"number"==typeof e&&(e=[e,e]),this.uniforms.size=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Se=n,Fe="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform float uRadian;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform int uKernelSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\nvoid main(void)\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n gl_FragColor = color;\n return;\n }\n\n float aspect = filterArea.y / filterArea.x;\n vec2 center = uCenter.xy / filterArea.xy;\n float gradient = uRadius / filterArea.x * 0.3;\n float radius = uRadius / filterArea.x - gradient * 0.5;\n int k = uKernelSize - 1;\n\n vec2 coord = vTextureCoord;\n vec2 dir = vec2(center - coord);\n float dist = length(vec2(dir.x, dir.y * aspect));\n\n float radianStep = uRadian;\n if (radius >= 0.0 && dist > radius) {\n float delta = dist - radius;\n float gap = gradient;\n float scale = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n gl_FragColor = color;\n return;\n }\n radianStep *= scale;\n }\n radianStep /= float(k);\n\n float s = sin(radianStep);\n float c = cos(radianStep);\n mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c));\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n\n vec4 sample = texture2D(uSampler, coord);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample;\n }\n\n gl_FragColor = color / float(uKernelSize);\n}\n",ze=function(e){function t(t,n,r,o){void 0===t&&(t=0),void 0===n&&(n=[0,0]),void 0===r&&(r=5),void 0===o&&(o=-1),e.call(this,Se,Fe),this._angle=0,this.angle=t,this.center=n,this.kernelSize=r,this.radius=o}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={angle:{configurable:!0},center:{configurable:!0},radius:{configurable:!0}};return t.prototype.apply=function(e,t,n,r){this.uniforms.uKernelSize=0!==this._angle?this.kernelSize:0,e.applyFilter(this,t,n,r)},n.angle.set=function(e){this._angle=e,this.uniforms.uRadian=e*Math.PI/180},n.angle.get=function(){return this._angle},n.center.get=function(){return this.uniforms.uCenter},n.center.set=function(e){this.uniforms.uCenter=e},n.radius.get=function(){return this.uniforms.uRadius},n.radius.set=function(e){(e<0||e===1/0)&&(e=-1),this.uniforms.uRadius=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Ae=n,we="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\nuniform vec2 dimensions;\n\nuniform bool mirror;\nuniform float boundary;\nuniform vec2 amplitude;\nuniform vec2 waveLength;\nuniform vec2 alpha;\nuniform float time;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\n vec2 coord = pixelCoord / dimensions;\n\n if (coord.y < boundary) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n\n float k = (coord.y - boundary) / (1. - boundary + 0.0001);\n float areaY = boundary * dimensions.y / filterArea.y;\n float v = areaY + areaY - vTextureCoord.y;\n float y = mirror ? v : vTextureCoord.y;\n\n float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x;\n float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y;\n float _alpha = (alpha.y - alpha.x) * k + alpha.x;\n\n float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude;\n x = clamp(x, filterClamp.x, filterClamp.z);\n\n vec4 color = texture2D(uSampler, vec2(x, y));\n\n gl_FragColor = color * _alpha;\n}\n",Te=function(e){function t(t){e.call(this,Ae,we),this.uniforms.amplitude=new Float32Array(2),this.uniforms.waveLength=new Float32Array(2),this.uniforms.alpha=new Float32Array(2),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,{mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0},t)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={mirror:{configurable:!0},boundary:{configurable:!0},amplitude:{configurable:!0},waveLength:{configurable:!0},alpha:{configurable:!0}};return t.prototype.apply=function(e,t,n,r){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},n.mirror.set=function(e){this.uniforms.mirror=e},n.mirror.get=function(){return this.uniforms.mirror},n.boundary.set=function(e){this.uniforms.boundary=e},n.boundary.get=function(){return this.uniforms.boundary},n.amplitude.set=function(e){this.uniforms.amplitude[0]=e[0],this.uniforms.amplitude[1]=e[1]},n.amplitude.get=function(){return this.uniforms.amplitude},n.waveLength.set=function(e){this.uniforms.waveLength[0]=e[0],this.uniforms.waveLength[1]=e[1]},n.waveLength.get=function(){return this.uniforms.waveLength},n.alpha.set=function(e){this.uniforms.alpha[0]=e[0],this.uniforms.alpha[1]=e[1]},n.alpha.get=function(){return this.uniforms.alpha},Object.defineProperties(t.prototype,n),t}(t.Filter),De=n,Oe="precision mediump float;\n\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec2 red;\nuniform vec2 green;\nuniform vec2 blue;\n\nvoid main(void)\n{\n gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r;\n gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g;\n gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b;\n gl_FragColor.a = texture2D(uSampler, vTextureCoord).a;\n}\n",Pe=function(e){function t(t,n,r){void 0===t&&(t=[-10,0]),void 0===n&&(n=[0,10]),void 0===r&&(r=[0,0]),e.call(this,De,Oe),this.red=t,this.green=n,this.blue=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return n.red.get=function(){return this.uniforms.red},n.red.set=function(e){this.uniforms.red=e},n.green.get=function(){return this.uniforms.green},n.green.set=function(e){this.uniforms.green=e},n.blue.get=function(){return this.uniforms.blue},n.blue.set=function(e){this.uniforms.blue=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Me=n,Re="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\nuniform vec4 filterClamp;\n\nuniform vec2 center;\n\nuniform float amplitude;\nuniform float wavelength;\n// uniform float power;\nuniform float brightness;\nuniform float speed;\nuniform float radius;\n\nuniform float time;\n\nconst float PI = 3.14159;\n\nvoid main()\n{\n float halfWavelength = wavelength * 0.5 / filterArea.x;\n float maxRadius = radius / filterArea.x;\n float currentRadius = time * speed / filterArea.x;\n\n float fade = 1.0;\n\n if (maxRadius > 0.0) {\n if (currentRadius > maxRadius) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n fade = 1.0 - pow(currentRadius / maxRadius, 2.0);\n }\n\n vec2 dir = vec2(vTextureCoord - center / filterArea.xy);\n dir.y *= filterArea.y / filterArea.x;\n float dist = length(dir);\n\n if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n\n vec2 diffUV = normalize(dir);\n\n float diff = (dist - currentRadius) / halfWavelength;\n\n float p = 1.0 - pow(abs(diff), 2.0);\n\n // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade );\n float powDiff = 1.25 * sin(diff * PI) * p * ( amplitude * fade );\n\n vec2 offset = diffUV * powDiff / filterArea.xy;\n\n // Do clamp :\n vec2 coord = vTextureCoord + offset;\n vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);\n vec4 color = texture2D(uSampler, clampedCoord);\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n // No clamp :\n // gl_FragColor = texture2D(uSampler, vTextureCoord + offset);\n\n color.rgb *= 1.0 + (brightness - 1.0) * p * fade;\n\n gl_FragColor = color;\n}\n",je=function(e){function t(t,n,r){void 0===t&&(t=[0,0]),void 0===n&&(n={}),void 0===r&&(r=0),e.call(this,Me,Re),this.center=t,Array.isArray(n)&&(console.warn("Deprecated Warning: ShockwaveFilter params Array has been changed to options Object."),n={}),n=Object.assign({amplitude:30,wavelength:160,brightness:1,speed:500,radius:-1},n),this.amplitude=n.amplitude,this.wavelength=n.wavelength,this.brightness=n.brightness,this.speed=n.speed,this.radius=n.radius,this.time=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={center:{configurable:!0},amplitude:{configurable:!0},wavelength:{configurable:!0},brightness:{configurable:!0},speed:{configurable:!0},radius:{configurable:!0}};return t.prototype.apply=function(e,t,n,r){this.uniforms.time=this.time,e.applyFilter(this,t,n,r)},n.center.get=function(){return this.uniforms.center},n.center.set=function(e){this.uniforms.center=e},n.amplitude.get=function(){return this.uniforms.amplitude},n.amplitude.set=function(e){this.uniforms.amplitude=e},n.wavelength.get=function(){return this.uniforms.wavelength},n.wavelength.set=function(e){this.uniforms.wavelength=e},n.brightness.get=function(){return this.uniforms.brightness},n.brightness.set=function(e){this.uniforms.brightness=e},n.speed.get=function(){return this.uniforms.speed},n.speed.set=function(e){this.uniforms.speed=e},n.radius.get=function(){return this.uniforms.radius},n.radius.set=function(e){this.uniforms.radius=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Le=n,ke="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform sampler2D uLightmap;\nuniform vec4 filterArea;\nuniform vec2 dimensions;\nuniform vec4 ambientColor;\nvoid main() {\n vec4 diffuseColor = texture2D(uSampler, vTextureCoord);\n vec2 lightCoord = (vTextureCoord * filterArea.xy) / dimensions;\n vec4 light = texture2D(uLightmap, lightCoord);\n vec3 ambient = ambientColor.rgb * ambientColor.a;\n vec3 intensity = ambient + light.rgb;\n vec3 finalColor = diffuseColor.rgb * intensity;\n gl_FragColor = vec4(finalColor, diffuseColor.a);\n}\n",Ie=function(e){function n(t,n,r){void 0===n&&(n=0),void 0===r&&(r=1),e.call(this,Le,ke),this.uniforms.dimensions=new Float32Array(2),this.uniforms.ambientColor=new Float32Array([0,0,0,r]),this.texture=t,this.color=n}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={texture:{configurable:!0},color:{configurable:!0},alpha:{configurable:!0}};return n.prototype.apply=function(e,t,n,r){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,e.applyFilter(this,t,n,r)},r.texture.get=function(){return this.uniforms.uLightmap},r.texture.set=function(e){this.uniforms.uLightmap=e},r.color.set=function(e){var n=this.uniforms.ambientColor;"number"==typeof e?(t.utils.hex2rgb(e,n),this._color=e):(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],this._color=t.utils.rgb2hex(n))},r.color.get=function(){return this._color},r.alpha.get=function(){return this.uniforms.ambientColor[3]},r.alpha.set=function(e){this.uniforms.ambientColor[3]=e},Object.defineProperties(n.prototype,r),n}(t.Filter),Ee=n,Be="varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float blur;\nuniform float gradientBlur;\nuniform vec2 start;\nuniform vec2 end;\nuniform vec2 delta;\nuniform vec2 texSize;\n\nfloat random(vec3 scale, float seed)\n{\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n}\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n float total = 0.0;\n\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;\n\n for (float t = -30.0; t <= 30.0; t++)\n {\n float percent = (t + offset - 0.5) / 30.0;\n float weight = 1.0 - abs(percent);\n vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);\n sample.rgb *= sample.a;\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",Xe=function(e){function n(n,r,o,i){void 0===n&&(n=100),void 0===r&&(r=600),void 0===o&&(o=null),void 0===i&&(i=null),e.call(this,Ee,Be),this.uniforms.blur=n,this.uniforms.gradientBlur=r,this.uniforms.start=o||new t.Point(0,window.innerHeight/2),this.uniforms.end=i||new t.Point(600,window.innerHeight/2),this.uniforms.delta=new t.Point(30,30),this.uniforms.texSize=new t.Point(window.innerWidth,window.innerHeight),this.updateDelta()}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var r={blur:{configurable:!0},gradientBlur:{configurable:!0},start:{configurable:!0},end:{configurable:!0}};return n.prototype.updateDelta=function(){this.uniforms.delta.x=0,this.uniforms.delta.y=0},r.blur.get=function(){return this.uniforms.blur},r.blur.set=function(e){this.uniforms.blur=e},r.gradientBlur.get=function(){return this.uniforms.gradientBlur},r.gradientBlur.set=function(e){this.uniforms.gradientBlur=e},r.start.get=function(){return this.uniforms.start},r.start.set=function(e){this.uniforms.start=e,this.updateDelta()},r.end.get=function(){return this.uniforms.end},r.end.set=function(e){this.uniforms.end=e,this.updateDelta()},Object.defineProperties(n.prototype,r),n}(t.Filter),qe=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.updateDelta=function(){var e=this.uniforms.end.x-this.uniforms.start.x,t=this.uniforms.end.y-this.uniforms.start.y,n=Math.sqrt(e*e+t*t);this.uniforms.delta.x=e/n,this.uniforms.delta.y=t/n},t}(Xe),Ne=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.updateDelta=function(){var e=this.uniforms.end.x-this.uniforms.start.x,t=this.uniforms.end.y-this.uniforms.start.y,n=Math.sqrt(e*e+t*t);this.uniforms.delta.x=-t/n,this.uniforms.delta.y=e/n},t}(Xe),We=function(e){function t(t,n,r,o){void 0===t&&(t=100),void 0===n&&(n=600),void 0===r&&(r=null),void 0===o&&(o=null),e.call(this),this.tiltShiftXFilter=new qe(t,n,r,o),this.tiltShiftYFilter=new Ne(t,n,r,o)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={blur:{configurable:!0},gradientBlur:{configurable:!0},start:{configurable:!0},end:{configurable:!0}};return t.prototype.apply=function(e,t,n){var r=e.getRenderTarget(!0);this.tiltShiftXFilter.apply(e,t,r),this.tiltShiftYFilter.apply(e,r,n),e.returnRenderTarget(r)},n.blur.get=function(){return this.tiltShiftXFilter.blur},n.blur.set=function(e){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=e},n.gradientBlur.get=function(){return this.tiltShiftXFilter.gradientBlur},n.gradientBlur.set=function(e){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=e},n.start.get=function(){return this.tiltShiftXFilter.start},n.start.set=function(e){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=e},n.end.get=function(){return this.tiltShiftXFilter.end},n.end.set=function(e){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Ge=n,Ke="varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform float radius;\nuniform float angle;\nuniform vec2 offset;\nuniform vec4 filterArea;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= filterArea.xy;\n coord += filterArea.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= filterArea.zw;\n coord /= filterArea.xy;\n\n return coord;\n}\n\nvec2 twist(vec2 coord)\n{\n coord -= offset;\n\n float dist = length(coord);\n\n if (dist < radius)\n {\n float ratioDist = (radius - dist) / radius;\n float angleMod = ratioDist * ratioDist * angle;\n float s = sin(angleMod);\n float c = cos(angleMod);\n coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);\n }\n\n coord += offset;\n\n return coord;\n}\n\nvoid main(void)\n{\n\n vec2 coord = mapCoord(vTextureCoord);\n\n coord = twist(coord);\n\n coord = unmapCoord(coord);\n\n gl_FragColor = texture2D(uSampler, coord );\n\n}\n",Ye=function(e){function t(t,n,r){void 0===t&&(t=200),void 0===n&&(n=4),void 0===r&&(r=20),e.call(this,Ge,Ke),this.radius=t,this.angle=n,this.padding=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={offset:{configurable:!0},radius:{configurable:!0},angle:{configurable:!0}};return n.offset.get=function(){return this.uniforms.offset},n.offset.set=function(e){this.uniforms.offset=e},n.radius.get=function(){return this.uniforms.radius},n.radius.set=function(e){this.uniforms.radius=e},n.angle.get=function(){return this.uniforms.angle},n.angle.set=function(e){this.uniforms.angle=e},Object.defineProperties(t.prototype,n),t}(t.Filter),Qe=n,Ue="varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec4 filterArea;\n\nuniform vec2 uCenter;\nuniform float uStrength;\nuniform float uInnerRadius;\nuniform float uRadius;\n\nconst float MAX_KERNEL_SIZE = 32.0;\n\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nhighp float rand(vec2 co, float seed) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159);\n return fract(sin(sn) * c + seed);\n}\n\nvoid main() {\n\n float minGradient = uInnerRadius * 0.3;\n float innerRadius = (uInnerRadius + minGradient * 0.5) / filterArea.x;\n\n float gradient = uRadius * 0.3;\n float radius = (uRadius - gradient * 0.5) / filterArea.x;\n\n float countLimit = MAX_KERNEL_SIZE;\n\n vec2 dir = vec2(uCenter.xy / filterArea.xy - vTextureCoord);\n float dist = length(vec2(dir.x, dir.y * filterArea.y / filterArea.x));\n\n float strength = uStrength;\n\n float delta = 0.0;\n float gap;\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n if (delta > 0.0) {\n float normalCount = gap / filterArea.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n if (countLimit < 1.0)\n {\n gl_FragColor = texture2D(uSampler, vTextureCoord);\n return;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n float offset = rand(vTextureCoord, 0.0);\n\n float total = 0.0;\n vec4 color = vec4(0.0);\n\n dir *= strength;\n\n for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {\n float percent = (t + offset) / MAX_KERNEL_SIZE;\n float weight = 4.0 * (percent - percent * percent);\n vec2 p = vTextureCoord + dir * percent;\n vec4 sample = texture2D(uSampler, p);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample * weight;\n total += weight;\n\n if (t > countLimit){\n break;\n }\n }\n\n color /= total;\n // switch back from pre-multiplied alpha\n // color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",Ze=function(e){function t(t,n,r,o){void 0===t&&(t=.1),void 0===n&&(n=[0,0]),void 0===r&&(r=0),void 0===o&&(o=-1),e.call(this,Qe,Ue),this.center=n,this.strength=t,this.innerRadius=r,this.radius=o}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={center:{configurable:!0},strength:{configurable:!0},innerRadius:{configurable:!0},radius:{configurable:!0}};return n.center.get=function(){return this.uniforms.uCenter},n.center.set=function(e){this.uniforms.uCenter=e},n.strength.get=function(){return this.uniforms.uStrength},n.strength.set=function(e){this.uniforms.uStrength=e},n.innerRadius.get=function(){return this.uniforms.uInnerRadius},n.innerRadius.set=function(e){this.uniforms.uInnerRadius=e},n.radius.get=function(){return this.uniforms.uRadius},n.radius.set=function(e){(e<0||e===1/0)&&(e=-1),this.uniforms.uRadius=e},Object.defineProperties(t.prototype,n),t}(t.Filter);return e.AdjustmentFilter=o,e.AdvancedBloomFilter=p,e.AsciiFilter=g,e.BevelFilter=y,e.BloomFilter=F,e.BulgePinchFilter=w,e.ColorMapFilter=O,e.ColorReplaceFilter=R,e.ConvolutionFilter=k,e.CrossHatchFilter=B,e.CRTFilter=N,e.DotFilter=K,e.DropShadowFilter=U,e.EmbossFilter=H,e.GlitchFilter=ee,e.GlowFilter=re,e.GodrayFilter=se,e.KawaseBlurFilter=a,e.MotionBlurFilter=ce,e.MultiColorReplaceFilter=pe,e.OldFilmFilter=ge,e.OutlineFilter=ye,e.PixelateFilter=Ce,e.RadialBlurFilter=ze,e.ReflectionFilter=Te,e.RGBSplitFilter=Pe,e.ShockwaveFilter=je,e.SimpleLightmapFilter=Ie,e.TiltShiftFilter=We,e.TiltShiftAxisFilter=Xe,e.TiltShiftXFilter=qe,e.TiltShiftYFilter=Ne,e.TwistFilter=Ye,e.ZoomBlurFilter=Ze,e}({},PIXI);Object.assign(PIXI.filters,this?this.__filters:__filters);
9
+ //# sourceMappingURL=pixi-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-filters.js","sources":["../../filters/adjustment/lib/filter-adjustment.esm.js","../../filters/kawase-blur/lib/filter-kawase-blur.esm.js","../../filters/advanced-bloom/lib/filter-advanced-bloom.esm.js","../../filters/ascii/lib/filter-ascii.esm.js","../../filters/bevel/lib/filter-bevel.esm.js","../../filters/bloom/lib/filter-bloom.esm.js","../../filters/bulge-pinch/lib/filter-bulge-pinch.esm.js","../../filters/color-map/lib/filter-color-map.esm.js","../../filters/color-replace/lib/filter-color-replace.esm.js","../../filters/convolution/lib/filter-convolution.esm.js","../../filters/cross-hatch/lib/filter-cross-hatch.esm.js","../../filters/crt/lib/filter-crt.esm.js","../../filters/dot/lib/filter-dot.esm.js","../../filters/drop-shadow/lib/filter-drop-shadow.esm.js","../../filters/emboss/lib/filter-emboss.esm.js","../../filters/glitch/lib/filter-glitch.esm.js","../../filters/glow/lib/filter-glow.esm.js","../../filters/godray/lib/filter-godray.esm.js","../../filters/motion-blur/lib/filter-motion-blur.esm.js","../../filters/multi-color-replace/lib/filter-multi-color-replace.esm.js","../../filters/old-film/lib/filter-old-film.esm.js","../../filters/outline/lib/filter-outline.esm.js","../../filters/pixelate/lib/filter-pixelate.esm.js","../../filters/radial-blur/lib/filter-radial-blur.esm.js","../../filters/reflection/lib/filter-reflection.esm.js","../../filters/rgb-split/lib/filter-rgb-split.esm.js","../../filters/shockwave/lib/filter-shockwave.esm.js","../../filters/simple-lightmap/lib/filter-simple-lightmap.esm.js","../../filters/tilt-shift/lib/filter-tilt-shift.esm.js","../../filters/twist/lib/filter-twist.esm.js","../../filters/zoom-blur/lib/filter-zoom-blur.esm.js"],"sourcesContent":["/*!\n * @pixi/filter-adjustment - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-adjustment is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as r}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",n=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform float gamma;\\nuniform float contrast;\\nuniform float saturation;\\nuniform float brightness;\\nuniform float red;\\nuniform float green;\\nuniform float blue;\\nuniform float alpha;\\n\\nvoid main(void)\\n{\\n vec4 c = texture2D(uSampler, vTextureCoord);\\n\\n if (c.a > 0.0) {\\n c.rgb /= c.a;\\n\\n vec3 rgb = pow(c.rgb, vec3(1. / gamma));\\n rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast);\\n rgb.r *= red;\\n rgb.g *= green;\\n rgb.b *= blue;\\n c.rgb = rgb * brightness;\\n\\n c.rgb *= c.a;\\n }\\n\\n gl_FragColor = c * alpha;\\n}\\n\",o=function(r){function o(o){r.call(this,t,n),Object.assign(this,{gamma:1,saturation:1,contrast:1,brightness:1,red:1,green:1,blue:1,alpha:1},o)}return r&&(o.__proto__=r),o.prototype=Object.create(r&&r.prototype),o.prototype.constructor=o,o.prototype.apply=function(r,t,n,o){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,r.applyFilter(this,t,n,o)},o}(r);export{o as AdjustmentFilter};\n//# sourceMappingURL=filter-adjustment.esm.js.map\n","/*!\n * @pixi/filter-kawase-blur - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-kawase-blur is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Point as e,Filter as t}from\"pixi.js\";var r=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",i=\"\\nvarying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform vec2 uOffset;\\n\\nvoid main(void)\\n{\\n vec4 color = vec4(0.0);\\n\\n // Sample top left pixel\\n color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));\\n\\n // Sample top right pixel\\n color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));\\n\\n // Sample bottom right pixel\\n color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));\\n\\n // Sample bottom left pixel\\n color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));\\n\\n // Average\\n color *= 0.25;\\n\\n gl_FragColor = color;\\n}\",o=\"\\nvarying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform vec2 uOffset;\\nuniform vec4 filterClamp;\\n\\nvoid main(void)\\n{\\n vec4 color = vec4(0.0);\\n\\n // Sample top left pixel\\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));\\n\\n // Sample top right pixel\\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw));\\n\\n // Sample bottom right pixel\\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));\\n\\n // Sample bottom left pixel\\n color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw));\\n\\n // Average\\n color *= 0.25;\\n\\n gl_FragColor = color;\\n}\\n\",n=function(t){function n(n,l,u){void 0===n&&(n=4),void 0===l&&(l=3),void 0===u&&(u=!1),t.call(this,r,u?o:i),this.uniforms.uOffset=new Float32Array(2),this._pixelSize=new e,this.pixelSize=1,this._clamp=u,this._kernels=null,Array.isArray(n)?this.kernels=n:(this._blur=n,this.quality=l)}t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n;var l={kernels:{configurable:!0},clamp:{configurable:!0},pixelSize:{configurable:!0},quality:{configurable:!0},blur:{configurable:!0}};return n.prototype.apply=function(e,t,r,i){var o,n=this.pixelSize.x/t.size.width,l=this.pixelSize.y/t.size.height;if(1===this._quality||0===this._blur)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*n,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,t,r,i);else{for(var u,s=e.getRenderTarget(!0),a=t,f=s,p=this._quality-1,x=0;x<p;x++)o=this._kernels[x]+.5,this.uniforms.uOffset[0]=o*n,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,a,f,!0),u=a,a=f,f=u;o=this._kernels[p]+.5,this.uniforms.uOffset[0]=o*n,this.uniforms.uOffset[1]=o*l,e.applyFilter(this,a,r,i),e.returnRenderTarget(s)}},n.prototype._generateKernels=function(){var e=this._blur,t=this._quality,r=[e];if(e>0)for(var i=e,o=e/t,n=1;n<t;n++)i-=o,r.push(i);this._kernels=r},l.kernels.get=function(){return this._kernels},l.kernels.set=function(e){Array.isArray(e)&&e.length>0?(this._kernels=e,this._quality=e.length,this._blur=Math.max.apply(Math,e)):(this._kernels=[0],this._quality=1)},l.clamp.get=function(){return this._clamp},l.pixelSize.set=function(t){\"number\"==typeof t?(this._pixelSize.x=t,this._pixelSize.y=t):Array.isArray(t)?(this._pixelSize.x=t[0],this._pixelSize.y=t[1]):t instanceof e?(this._pixelSize.x=t.x,this._pixelSize.y=t.y):(this._pixelSize.x=1,this._pixelSize.y=1)},l.pixelSize.get=function(){return this._pixelSize},l.quality.get=function(){return this._quality},l.quality.set=function(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()},l.blur.get=function(){return this._blur},l.blur.set=function(e){this._blur=e,this._generateKernels()},Object.defineProperties(n.prototype,l),n}(t);export{n as KawaseBlurFilter};\n//# sourceMappingURL=filter-kawase-blur.esm.js.map\n","/*!\n * @pixi/filter-advanced-bloom - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-advanced-bloom is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as t,settings as r}from\"pixi.js\";import{KawaseBlurFilter as e}from\"@pixi/filter-kawase-blur\";var o=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",i=\"\\nuniform sampler2D uSampler;\\nvarying vec2 vTextureCoord;\\n\\nuniform float threshold;\\n\\nvoid main() {\\n vec4 color = texture2D(uSampler, vTextureCoord);\\n\\n // A simple & fast algorithm for getting brightness.\\n // It's inaccuracy , but good enought for this feature.\\n float _max = max(max(color.r, color.g), color.b);\\n float _min = min(min(color.r, color.g), color.b);\\n float brightness = (_max + _min) * 0.5;\\n\\n if(brightness > threshold) {\\n gl_FragColor = color;\\n } else {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n }\\n}\\n\",n=function(t){function r(r){void 0===r&&(r=.5),t.call(this,o,i),this.threshold=r}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={threshold:{configurable:!0}};return e.threshold.get=function(){return this.uniforms.threshold},e.threshold.set=function(t){this.uniforms.threshold=t},Object.defineProperties(r.prototype,e),r}(t),l=\"uniform sampler2D uSampler;\\nvarying vec2 vTextureCoord;\\n\\nuniform sampler2D bloomTexture;\\nuniform float bloomScale;\\nuniform float brightness;\\n\\nvoid main() {\\n vec4 color = texture2D(uSampler, vTextureCoord);\\n color.rgb *= brightness;\\n vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0);\\n bloomColor.rgb *= bloomScale;\\n gl_FragColor = color + bloomColor;\\n}\\n\",s=function(t){function i(i){t.call(this,o,l),\"number\"==typeof i&&(i={threshold:i}),i=Object.assign({threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:r.RESOLUTION},i),this.bloomScale=i.bloomScale,this.brightness=i.brightness;var s=i.kernels,u=i.blur,a=i.quality,c=i.pixelSize,h=i.resolution;this._extractFilter=new n(i.threshold),this._extractFilter.resolution=h,this._blurFilter=s?new e(s):new e(u,a),this.pixelSize=c,this.resolution=h}t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i;var s={resolution:{configurable:!0},threshold:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return i.prototype.apply=function(t,r,e,o,i){var n=t.getRenderTarget(!0);this._extractFilter.apply(t,r,n,!0,i);var l=t.getRenderTarget(!0);this._blurFilter.apply(t,n,l,!0,i),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=l,t.applyFilter(this,r,e,o),t.returnRenderTarget(l),t.returnRenderTarget(n)},s.resolution.get=function(){return this._resolution},s.resolution.set=function(t){this._resolution=t,this._extractFilter&&(this._extractFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)},s.threshold.get=function(){return this._extractFilter.threshold},s.threshold.set=function(t){this._extractFilter.threshold=t},s.kernels.get=function(){return this._blurFilter.kernels},s.kernels.set=function(t){this._blurFilter.kernels=t},s.blur.get=function(){return this._blurFilter.blur},s.blur.set=function(t){this._blurFilter.blur=t},s.quality.get=function(){return this._blurFilter.quality},s.quality.set=function(t){this._blurFilter.quality=t},s.pixelSize.get=function(){return this._blurFilter.pixelSize},s.pixelSize.set=function(t){this._blurFilter.pixelSize=t},Object.defineProperties(i.prototype,s),i}(t);export{s as AdvancedBloomFilter};\n//# sourceMappingURL=filter-advanced-bloom.esm.js.map\n","/*!\n * @pixi/filter-ascii - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-ascii is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as o}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"varying vec2 vTextureCoord;\\n\\nuniform vec4 filterArea;\\nuniform float pixelSize;\\nuniform sampler2D uSampler;\\n\\nvec2 mapCoord( vec2 coord )\\n{\\n coord *= filterArea.xy;\\n coord += filterArea.zw;\\n\\n return coord;\\n}\\n\\nvec2 unmapCoord( vec2 coord )\\n{\\n coord -= filterArea.zw;\\n coord /= filterArea.xy;\\n\\n return coord;\\n}\\n\\nvec2 pixelate(vec2 coord, vec2 size)\\n{\\n return floor( coord / size ) * size;\\n}\\n\\nvec2 getMod(vec2 coord, vec2 size)\\n{\\n return mod( coord , size) / size;\\n}\\n\\nfloat character(float n, vec2 p)\\n{\\n p = floor(p*vec2(4.0, -4.0) + 2.5);\\n if (clamp(p.x, 0.0, 4.0) == p.x && clamp(p.y, 0.0, 4.0) == p.y)\\n {\\n if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;\\n }\\n return 0.0;\\n}\\n\\nvoid main()\\n{\\n vec2 coord = mapCoord(vTextureCoord);\\n\\n // get the rounded color..\\n vec2 pixCoord = pixelate(coord, vec2(pixelSize));\\n pixCoord = unmapCoord(pixCoord);\\n\\n vec4 color = texture2D(uSampler, pixCoord);\\n\\n // determine the character to use\\n float gray = (color.r + color.g + color.b) / 3.0;\\n\\n float n = 65536.0; // .\\n if (gray > 0.2) n = 65600.0; // :\\n if (gray > 0.3) n = 332772.0; // *\\n if (gray > 0.4) n = 15255086.0; // o\\n if (gray > 0.5) n = 23385164.0; // &\\n if (gray > 0.6) n = 15252014.0; // 8\\n if (gray > 0.7) n = 13199452.0; // @\\n if (gray > 0.8) n = 11512810.0; // #\\n\\n // get the mod..\\n vec2 modd = getMod(coord, vec2(pixelSize));\\n\\n gl_FragColor = color * character( n, vec2(-1.0) + modd * 2.0);\\n\\n}\",r=function(o){function r(r){void 0===r&&(r=8),o.call(this,n,e),this.size=r}o&&(r.__proto__=o),r.prototype=Object.create(o&&o.prototype),r.prototype.constructor=r;var t={size:{configurable:!0}};return t.size.get=function(){return this.uniforms.pixelSize},t.size.set=function(o){this.uniforms.pixelSize=o},Object.defineProperties(r.prototype,t),r}(o);export{r as AsciiFilter};\n//# sourceMappingURL=filter-ascii.esm.js.map\n","/*!\n * @pixi/filter-bevel - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-bevel is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{DEG_TO_RAD as o,utils as t,Filter as r}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",i=\"precision mediump float;\\n\\nvarying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\n\\nuniform float transformX;\\nuniform float transformY;\\nuniform vec3 lightColor;\\nuniform float lightAlpha;\\nuniform vec3 shadowColor;\\nuniform float shadowAlpha;\\n\\nvoid main(void) {\\n vec2 transform = vec2(1.0 / filterArea) * vec2(transformX, transformY);\\n vec4 color = texture2D(uSampler, vTextureCoord);\\n float light = texture2D(uSampler, vTextureCoord - transform).a;\\n float shadow = texture2D(uSampler, vTextureCoord + transform).a;\\n\\n color.rgb = mix(color.rgb, lightColor, clamp((color.a - light) * lightAlpha, 0.0, 1.0));\\n color.rgb = mix(color.rgb, shadowColor, clamp((color.a - shadow) * shadowAlpha, 0.0, 1.0));\\n gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\\n\",a=function(r){function a(o){void 0===o&&(o={}),r.call(this,n,i),this.uniforms.lightColor=new Float32Array(3),this.uniforms.shadowColor=new Float32Array(3),o=Object.assign({rotation:45,thickness:2,lightColor:16777215,lightAlpha:.7,shadowColor:0,shadowAlpha:.7},o),this.rotation=o.rotation,this.thickness=o.thickness,this.lightColor=o.lightColor,this.lightAlpha=o.lightAlpha,this.shadowColor=o.shadowColor,this.shadowAlpha=o.shadowAlpha}r&&(a.__proto__=r),a.prototype=Object.create(r&&r.prototype),a.prototype.constructor=a;var e={rotation:{configurable:!0},thickness:{configurable:!0},lightColor:{configurable:!0},lightAlpha:{configurable:!0},shadowColor:{configurable:!0},shadowAlpha:{configurable:!0}};return a.prototype._updateTransform=function(){this.uniforms.transformX=this._thickness*Math.cos(this._angle),this.uniforms.transformY=this._thickness*Math.sin(this._angle)},e.rotation.get=function(){return this._angle/o},e.rotation.set=function(t){this._angle=t*o,this._updateTransform()},e.thickness.get=function(){return this._thickness},e.thickness.set=function(o){this._thickness=o,this._updateTransform()},e.lightColor.get=function(){return t.rgb2hex(this.uniforms.lightColor)},e.lightColor.set=function(o){t.hex2rgb(o,this.uniforms.lightColor)},e.lightAlpha.get=function(){return this.uniforms.lightAlpha},e.lightAlpha.set=function(o){this.uniforms.lightAlpha=o},e.shadowColor.get=function(){return t.rgb2hex(this.uniforms.shadowColor)},e.shadowColor.set=function(o){t.hex2rgb(o,this.uniforms.shadowColor)},e.shadowAlpha.get=function(){return this.uniforms.shadowAlpha},e.shadowAlpha.set=function(o){this.uniforms.shadowAlpha=o},Object.defineProperties(a.prototype,e),a}(r);export{a as BevelFilter};\n//# sourceMappingURL=filter-bevel.esm.js.map\n","/*!\n * @pixi/filter-bloom - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-bloom is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as r,filters as t,settings as e,Point as l,BLEND_MODES as i}from\"pixi.js\";var u=t,n=u.BlurXFilter,o=u.BlurYFilter,b=u.AlphaFilter,p=function(r){function t(t,u,p,s){var a,c;void 0===t&&(t=2),void 0===u&&(u=4),void 0===p&&(p=e.RESOLUTION),void 0===s&&(s=5),r.call(this),\"number\"==typeof t?(a=t,c=t):t instanceof l?(a=t.x,c=t.y):Array.isArray(t)&&(a=t[0],c=t[1]),this.blurXFilter=new n(a,u,p,s),this.blurYFilter=new o(c,u,p,s),this.blurYFilter.blendMode=i.SCREEN,this.defaultFilter=new b}r&&(t.__proto__=r),t.prototype=Object.create(r&&r.prototype),t.prototype.constructor=t;var u={blur:{configurable:!0},blurX:{configurable:!0},blurY:{configurable:!0}};return t.prototype.apply=function(r,t,e){var l=r.getRenderTarget(!0);this.defaultFilter.apply(r,t,e),this.blurXFilter.apply(r,t,l),this.blurYFilter.apply(r,l,e),r.returnRenderTarget(l)},u.blur.get=function(){return this.blurXFilter.blur},u.blur.set=function(r){this.blurXFilter.blur=this.blurYFilter.blur=r},u.blurX.get=function(){return this.blurXFilter.blur},u.blurX.set=function(r){this.blurXFilter.blur=r},u.blurY.get=function(){return this.blurYFilter.blur},u.blurY.set=function(r){this.blurYFilter.blur=r},Object.defineProperties(t.prototype,u),t}(r);export{p as BloomFilter};\n//# sourceMappingURL=filter-bloom.esm.js.map\n","/*!\n * @pixi/filter-bulge-pinch - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-bulge-pinch is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as n}from\"pixi.js\";var e=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"uniform float radius;\\nuniform float strength;\\nuniform vec2 center;\\nuniform sampler2D uSampler;\\nvarying vec2 vTextureCoord;\\n\\nuniform vec4 filterArea;\\nuniform vec4 filterClamp;\\nuniform vec2 dimensions;\\n\\nvoid main()\\n{\\n vec2 coord = vTextureCoord * filterArea.xy;\\n coord -= center * dimensions.xy;\\n float distance = length(coord);\\n if (distance < radius) {\\n float percent = distance / radius;\\n if (strength > 0.0) {\\n coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);\\n } else {\\n coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);\\n }\\n }\\n coord += center * dimensions.xy;\\n coord /= filterArea.xy;\\n vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);\\n vec4 color = texture2D(uSampler, clampedCoord);\\n if (coord != clampedCoord) {\\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\\n }\\n\\n gl_FragColor = color;\\n}\\n\",t=function(n){function t(t,o,i){n.call(this,e,r),this.uniforms.dimensions=new Float32Array(2),this.center=t||[.5,.5],this.radius=\"number\"==typeof o?o:100,this.strength=\"number\"==typeof i?i:1}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var o={radius:{configurable:!0},strength:{configurable:!0},center:{configurable:!0}};return t.prototype.apply=function(n,e,r,t){this.uniforms.dimensions[0]=e.sourceFrame.width,this.uniforms.dimensions[1]=e.sourceFrame.height,n.applyFilter(this,e,r,t)},o.radius.get=function(){return this.uniforms.radius},o.radius.set=function(n){this.uniforms.radius=n},o.strength.get=function(){return this.uniforms.strength},o.strength.set=function(n){this.uniforms.strength=n},o.center.get=function(){return this.uniforms.center},o.center.set=function(n){this.uniforms.center=n},Object.defineProperties(t.prototype,o),t}(n);export{t as BulgePinchFilter};\n//# sourceMappingURL=filter-bulge-pinch.esm.js.map\n","/*!\n * @pixi/filter-color-map - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-color-map is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Texture as e,SCALE_MODES as i,Filter as t}from\"pixi.js\";var o=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform sampler2D colorMap;\\nuniform float _mix;\\nuniform float _size;\\nuniform float _sliceSize;\\nuniform float _slicePixelSize;\\nuniform float _sliceInnerSize;\\nvoid main() {\\n vec4 color = texture2D(uSampler, vTextureCoord.xy);\\n\\n vec4 adjusted;\\n if (color.a > 0.0) {\\n color.rgb /= color.a;\\n float innerWidth = _size - 1.0;\\n float zSlice0 = min(floor(color.b * innerWidth), innerWidth);\\n float zSlice1 = min(zSlice0 + 1.0, innerWidth);\\n float xOffset = _slicePixelSize * 0.5 + color.r * _sliceInnerSize;\\n float s0 = xOffset + (zSlice0 * _sliceSize);\\n float s1 = xOffset + (zSlice1 * _sliceSize);\\n float yOffset = _sliceSize * 0.5 + color.g * (1.0 - _sliceSize);\\n vec4 slice0Color = texture2D(colorMap, vec2(s0,yOffset));\\n vec4 slice1Color = texture2D(colorMap, vec2(s1,yOffset));\\n float zOffset = fract(color.b * innerWidth);\\n adjusted = mix(slice0Color, slice1Color, zOffset);\\n\\n color.rgb *= color.a;\\n }\\n gl_FragColor = vec4(mix(color, adjusted, _mix).rgb, color.a);\\n\\n}\",s=function(t){function s(e,i,s){void 0===i&&(i=!1),void 0===s&&(s=1),t.call(this,o,r),this._size=0,this._sliceSize=0,this._slicePixelSize=0,this._sliceInnerSize=0,this._scaleMode=null,this._nearest=!1,this.nearest=i,this.mix=s,this.colorMap=e}t&&(s.__proto__=t),s.prototype=Object.create(t&&t.prototype),s.prototype.constructor=s;var n={colorSize:{configurable:!0},colorMap:{configurable:!0},nearest:{configurable:!0}};return s.prototype.apply=function(e,i,t,o){this.uniforms._mix=this.mix,e.applyFilter(this,i,t,o)},n.colorSize.get=function(){return this._size},n.colorMap.get=function(){return this._colorMap},n.colorMap.set=function(i){i instanceof e||(i=e.from(i)),i&&i.baseTexture&&(i.baseTexture.scaleMode=this._scaleMode,i.baseTexture.mipmap=!1,this._size=i.height,this._sliceSize=1/this._size,this._slicePixelSize=this._sliceSize/this._size,this._sliceInnerSize=this._slicePixelSize*(this._size-1),this.uniforms._size=this._size,this.uniforms._sliceSize=this._sliceSize,this.uniforms._slicePixelSize=this._slicePixelSize,this.uniforms._sliceInnerSize=this._sliceInnerSize,this.uniforms.colorMap=i),this._colorMap=i},n.nearest.get=function(){return this._nearest},n.nearest.set=function(e){this._nearest=e,this._scaleMode=e?i.NEAREST:i.LINEAR;var t=this._colorMap;t&&t.baseTexture&&(t.baseTexture._glTextures={},t.baseTexture.scaleMode=this._scaleMode,t.baseTexture.mipmap=!1,t._updateID++,t.baseTexture.emit(\"update\",t.baseTexture))},s.prototype.updateColorMap=function(){var e=this._colorMap;e&&e.baseTexture&&(e._updateID++,e.baseTexture.emit(\"update\",e.baseTexture),this.colorMap=e)},s.prototype.destroy=function(e){this._colorMap&&this._colorMap.destroy(e),t.prototype.destroy.call(this)},Object.defineProperties(s.prototype,n),s}(t);export{s as ColorMapFilter};\n//# sourceMappingURL=filter-color-map.esm.js.map\n","/*!\n * @pixi/filter-color-replace - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-color-replace is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{utils as o,Filter as r}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec3 originalColor;\\nuniform vec3 newColor;\\nuniform float epsilon;\\nvoid main(void) {\\n vec4 currentColor = texture2D(uSampler, vTextureCoord);\\n vec3 colorDiff = originalColor - (currentColor.rgb / max(currentColor.a, 0.0000000001));\\n float colorDistance = length(colorDiff);\\n float doReplace = step(colorDistance, epsilon);\\n gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a);\\n}\\n\",i=function(r){function i(o,i,t){void 0===o&&(o=16711680),void 0===i&&(i=0),void 0===t&&(t=.4),r.call(this,n,e),this.uniforms.originalColor=new Float32Array(3),this.uniforms.newColor=new Float32Array(3),this.originalColor=o,this.newColor=i,this.epsilon=t}r&&(i.__proto__=r),i.prototype=Object.create(r&&r.prototype),i.prototype.constructor=i;var t={originalColor:{configurable:!0},newColor:{configurable:!0},epsilon:{configurable:!0}};return t.originalColor.set=function(r){var n=this.uniforms.originalColor;\"number\"==typeof r?(o.hex2rgb(r,n),this._originalColor=r):(n[0]=r[0],n[1]=r[1],n[2]=r[2],this._originalColor=o.rgb2hex(n))},t.originalColor.get=function(){return this._originalColor},t.newColor.set=function(r){var n=this.uniforms.newColor;\"number\"==typeof r?(o.hex2rgb(r,n),this._newColor=r):(n[0]=r[0],n[1]=r[1],n[2]=r[2],this._newColor=o.rgb2hex(n))},t.newColor.get=function(){return this._newColor},t.epsilon.set=function(o){this.uniforms.epsilon=o},t.epsilon.get=function(){return this.uniforms.epsilon},Object.defineProperties(i.prototype,t),i}(r);export{i as ColorReplaceFilter};\n//# sourceMappingURL=filter-color-replace.esm.js.map\n","/*!\n * @pixi/filter-convolution - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-convolution is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as e}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"precision mediump float;\\n\\nvarying mediump vec2 vTextureCoord;\\n\\nuniform sampler2D uSampler;\\nuniform vec2 texelSize;\\nuniform float matrix[9];\\n\\nvoid main(void)\\n{\\n vec4 c11 = texture2D(uSampler, vTextureCoord - texelSize); // top left\\n vec4 c12 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - texelSize.y)); // top center\\n vec4 c13 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y - texelSize.y)); // top right\\n\\n vec4 c21 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y)); // mid left\\n vec4 c22 = texture2D(uSampler, vTextureCoord); // mid center\\n vec4 c23 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y)); // mid right\\n\\n vec4 c31 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y + texelSize.y)); // bottom left\\n vec4 c32 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + texelSize.y)); // bottom center\\n vec4 c33 = texture2D(uSampler, vTextureCoord + texelSize); // bottom right\\n\\n gl_FragColor =\\n c11 * matrix[0] + c12 * matrix[1] + c13 * matrix[2] +\\n c21 * matrix[3] + c22 * matrix[4] + c23 * matrix[5] +\\n c31 * matrix[6] + c32 * matrix[7] + c33 * matrix[8];\\n\\n gl_FragColor.a = c22.a;\\n}\\n\",o=function(e){function o(o,i,n){void 0===i&&(i=200),void 0===n&&(n=200),e.call(this,t,r),this.uniforms.texelSize=new Float32Array(2),this.uniforms.matrix=new Float32Array(9),void 0!==o&&(this.matrix=o),this.width=i,this.height=n}e&&(o.__proto__=e),o.prototype=Object.create(e&&e.prototype),o.prototype.constructor=o;var i={matrix:{configurable:!0},width:{configurable:!0},height:{configurable:!0}};return i.matrix.get=function(){return this.uniforms.matrix},i.matrix.set=function(e){var t=this;e.forEach(function(e,r){return t.uniforms.matrix[r]=e})},i.width.get=function(){return 1/this.uniforms.texelSize[0]},i.width.set=function(e){this.uniforms.texelSize[0]=1/e},i.height.get=function(){return 1/this.uniforms.texelSize[1]},i.height.set=function(e){this.uniforms.texelSize[1]=1/e},Object.defineProperties(o.prototype,i),o}(e);export{o as ConvolutionFilter};\n//# sourceMappingURL=filter-convolution.esm.js.map\n","/*!\n * @pixi/filter-cross-hatch - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-cross-hatch is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as o}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"precision mediump float;\\n\\nvarying vec2 vTextureCoord;\\n\\nuniform sampler2D uSampler;\\n\\nvoid main(void)\\n{\\n float lum = length(texture2D(uSampler, vTextureCoord.xy).rgb);\\n\\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n\\n if (lum < 1.00)\\n {\\n if (mod(gl_FragCoord.x + gl_FragCoord.y, 10.0) == 0.0)\\n {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\n }\\n }\\n\\n if (lum < 0.75)\\n {\\n if (mod(gl_FragCoord.x - gl_FragCoord.y, 10.0) == 0.0)\\n {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\n }\\n }\\n\\n if (lum < 0.50)\\n {\\n if (mod(gl_FragCoord.x + gl_FragCoord.y - 5.0, 10.0) == 0.0)\\n {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\n }\\n }\\n\\n if (lum < 0.3)\\n {\\n if (mod(gl_FragCoord.x - gl_FragCoord.y - 5.0, 10.0) == 0.0)\\n {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\n }\\n }\\n}\\n\",e=function(o){function e(){o.call(this,n,r)}return o&&(e.__proto__=o),e.prototype=Object.create(o&&o.prototype),e.prototype.constructor=e,e}(o);export{e as CrossHatchFilter};\n//# sourceMappingURL=filter-cross-hatch.esm.js.map\n","/*!\n * @pixi/filter-crt - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-crt is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as n}from\"pixi.js\";var i=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",t=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform vec4 filterArea;\\nuniform vec2 dimensions;\\n\\nconst float SQRT_2 = 1.414213;\\n\\nconst float light = 1.0;\\n\\nuniform float curvature;\\nuniform float lineWidth;\\nuniform float lineContrast;\\nuniform bool verticalLine;\\nuniform float noise;\\nuniform float noiseSize;\\n\\nuniform float vignetting;\\nuniform float vignettingAlpha;\\nuniform float vignettingBlur;\\n\\nuniform float seed;\\nuniform float time;\\n\\nfloat rand(vec2 co) {\\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\\n}\\n\\nvoid main(void)\\n{\\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\\n vec2 coord = pixelCoord / dimensions;\\n\\n vec2 dir = vec2(coord - vec2(0.5, 0.5));\\n\\n float _c = curvature > 0. ? curvature : 1.;\\n float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;\\n vec2 uv = dir * k;\\n\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n vec3 rgb = gl_FragColor.rgb;\\n\\n\\n if (noise > 0.0 && noiseSize > 0.0)\\n {\\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\\n rgb += _noise * noise;\\n }\\n\\n if (lineWidth > 0.0) {\\n float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c;\\n float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast;\\n rgb *= j;\\n float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.);\\n rgb *= 0.99 + ceil(segment) * 0.015;\\n }\\n\\n if (vignetting > 0.0)\\n {\\n float outter = SQRT_2 - vignetting * SQRT_2;\\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\\n rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\\n }\\n\\n gl_FragColor.rgb = rgb;\\n}\\n\",e=function(n){function e(e){n.call(this,i,t),this.uniforms.dimensions=new Float32Array(2),this.time=0,this.seed=0,Object.assign(this,{curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0},e)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var o={curvature:{configurable:!0},lineWidth:{configurable:!0},lineContrast:{configurable:!0},verticalLine:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return e.prototype.apply=function(n,i,t,e){this.uniforms.dimensions[0]=i.sourceFrame.width,this.uniforms.dimensions[1]=i.sourceFrame.height,this.uniforms.seed=this.seed,this.uniforms.time=this.time,n.applyFilter(this,i,t,e)},o.curvature.set=function(n){this.uniforms.curvature=n},o.curvature.get=function(){return this.uniforms.curvature},o.lineWidth.set=function(n){this.uniforms.lineWidth=n},o.lineWidth.get=function(){return this.uniforms.lineWidth},o.lineContrast.set=function(n){this.uniforms.lineContrast=n},o.lineContrast.get=function(){return this.uniforms.lineContrast},o.verticalLine.set=function(n){this.uniforms.verticalLine=n},o.verticalLine.get=function(){return this.uniforms.verticalLine},o.noise.set=function(n){this.uniforms.noise=n},o.noise.get=function(){return this.uniforms.noise},o.noiseSize.set=function(n){this.uniforms.noiseSize=n},o.noiseSize.get=function(){return this.uniforms.noiseSize},o.vignetting.set=function(n){this.uniforms.vignetting=n},o.vignetting.get=function(){return this.uniforms.vignetting},o.vignettingAlpha.set=function(n){this.uniforms.vignettingAlpha=n},o.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},o.vignettingBlur.set=function(n){this.uniforms.vignettingBlur=n},o.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(e.prototype,o),e}(n);export{e as CRTFilter};\n//# sourceMappingURL=filter-crt.esm.js.map\n","/*!\n * @pixi/filter-dot - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-dot is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as e}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",o=\"precision mediump float;\\n\\nvarying vec2 vTextureCoord;\\nvarying vec4 vColor;\\n\\nuniform vec4 filterArea;\\nuniform sampler2D uSampler;\\n\\nuniform float angle;\\nuniform float scale;\\n\\nfloat pattern()\\n{\\n float s = sin(angle), c = cos(angle);\\n vec2 tex = vTextureCoord * filterArea.xy;\\n vec2 point = vec2(\\n c * tex.x - s * tex.y,\\n s * tex.x + c * tex.y\\n ) * scale;\\n return (sin(point.x) * sin(point.y)) * 4.0;\\n}\\n\\nvoid main()\\n{\\n vec4 color = texture2D(uSampler, vTextureCoord);\\n float average = (color.r + color.g + color.b) / 3.0;\\n gl_FragColor = vec4(vec3(average * 10.0 - 5.0 + pattern()), color.a);\\n}\\n\",t=function(e){function t(t,r){void 0===t&&(t=1),void 0===r&&(r=5),e.call(this,n,o),this.scale=t,this.angle=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={scale:{configurable:!0},angle:{configurable:!0}};return r.scale.get=function(){return this.uniforms.scale},r.scale.set=function(e){this.uniforms.scale=e},r.angle.get=function(){return this.uniforms.angle},r.angle.set=function(e){this.uniforms.angle=e},Object.defineProperties(t.prototype,r),t}(e);export{t as DotFilter};\n//# sourceMappingURL=filter-dot.esm.js.map\n","/*!\n * @pixi/filter-drop-shadow - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-drop-shadow is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{KawaseBlurFilter as t}from\"@pixi/filter-kawase-blur\";import{DEG_TO_RAD as i,utils as r,Filter as e,settings as n,Matrix as o}from\"pixi.js\";var a=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",l=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform float alpha;\\nuniform vec3 color;\\nvoid main(void){\\n vec4 sample = texture2D(uSampler, vTextureCoord);\\n\\n // Un-premultiply alpha before applying the color\\n if (sample.a > 0.0) {\\n sample.rgb /= sample.a;\\n }\\n\\n // Premultiply alpha again\\n sample.rgb = color.rgb * sample.a;\\n\\n // alpha user alpha\\n sample *= alpha;\\n\\n gl_FragColor = sample;\\n}\",s=function(s){function u(i){i&&i.constructor!==Object&&(console.warn(\"DropShadowFilter now uses options instead of (rotation, distance, blur, color, alpha)\"),i={rotation:i},void 0!==arguments[1]&&(i.distance=arguments[1]),void 0!==arguments[2]&&(i.blur=arguments[2]),void 0!==arguments[3]&&(i.color=arguments[3]),void 0!==arguments[4]&&(i.alpha=arguments[4])),i=Object.assign({rotation:45,distance:5,color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:n.RESOLUTION},i),s.call(this);var r=i.kernels,u=i.blur,c=i.quality,p=i.pixelSize,h=i.resolution;this._tintFilter=new e(a,l),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.resolution=h,this._blurFilter=r?new t(r):new t(u,c),this.pixelSize=p,this.resolution=h,this.targetTransform=new o;var f=i.shadowOnly,d=i.rotation,g=i.distance,b=i.alpha,_=i.color;this.shadowOnly=f,this.rotation=d,this.distance=g,this.alpha=b,this.color=_,this._updatePadding()}s&&(u.__proto__=s),u.prototype=Object.create(s&&s.prototype),u.prototype.constructor=u;var c={resolution:{configurable:!0},distance:{configurable:!0},rotation:{configurable:!0},alpha:{configurable:!0},color:{configurable:!0},kernels:{configurable:!0},blur:{configurable:!0},quality:{configurable:!0},pixelSize:{configurable:!0}};return u.prototype.apply=function(t,i,r,e){var n=t.getRenderTarget();n.transform=this.targetTransform,this._tintFilter.apply(t,i,n,!0),n.transform=null,this._blurFilter.apply(t,n,r,e),!0!==this.shadowOnly&&t.applyFilter(this,i,r,!1),t.returnRenderTarget(n)},u.prototype._updatePadding=function(){this.padding=this.distance+2*this.blur},u.prototype._updateTargetTransform=function(){this.targetTransform.tx=this.distance*Math.cos(this.angle),this.targetTransform.ty=this.distance*Math.sin(this.angle)},c.resolution.get=function(){return this._resolution},c.resolution.set=function(t){this._resolution=t,this._tintFilter&&(this._tintFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)},c.distance.get=function(){return this._distance},c.distance.set=function(t){this._distance=t,this._updatePadding(),this._updateTargetTransform()},c.rotation.get=function(){return this.angle/i},c.rotation.set=function(t){this.angle=t*i,this._updateTargetTransform()},c.alpha.get=function(){return this._tintFilter.uniforms.alpha},c.alpha.set=function(t){this._tintFilter.uniforms.alpha=t},c.color.get=function(){return r.rgb2hex(this._tintFilter.uniforms.color)},c.color.set=function(t){r.hex2rgb(t,this._tintFilter.uniforms.color)},c.kernels.get=function(){return this._blurFilter.kernels},c.kernels.set=function(t){this._blurFilter.kernels=t},c.blur.get=function(){return this._blurFilter.blur},c.blur.set=function(t){this._blurFilter.blur=t,this._updatePadding()},c.quality.get=function(){return this._blurFilter.quality},c.quality.set=function(t){this._blurFilter.quality=t},c.pixelSize.get=function(){return this._blurFilter.pixelSize},c.pixelSize.set=function(t){this._blurFilter.pixelSize=t},Object.defineProperties(u.prototype,c),u}(e);export{s as DropShadowFilter};\n//# sourceMappingURL=filter-drop-shadow.esm.js.map\n","/*!\n * @pixi/filter-emboss - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-emboss is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as t}from\"pixi.js\";var r=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"precision mediump float;\\n\\nvarying vec2 vTextureCoord;\\n\\nuniform sampler2D uSampler;\\nuniform float strength;\\nuniform vec4 filterArea;\\n\\n\\nvoid main(void)\\n{\\n\\tvec2 onePixel = vec2(1.0 / filterArea);\\n\\n\\tvec4 color;\\n\\n\\tcolor.rgb = vec3(0.5);\\n\\n\\tcolor -= texture2D(uSampler, vTextureCoord - onePixel) * strength;\\n\\tcolor += texture2D(uSampler, vTextureCoord + onePixel) * strength;\\n\\n\\tcolor.rgb = vec3((color.r + color.g + color.b) / 3.0);\\n\\n\\tfloat alpha = texture2D(uSampler, vTextureCoord).a;\\n\\n\\tgl_FragColor = vec4(color.rgb * alpha, alpha);\\n}\\n\",o=function(t){function o(o){void 0===o&&(o=5),t.call(this,r,e),this.strength=o}t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o;var n={strength:{configurable:!0}};return n.strength.get=function(){return this.uniforms.strength},n.strength.set=function(t){this.uniforms.strength=t},Object.defineProperties(o.prototype,n),o}(t);export{o as EmbossFilter};\n//# sourceMappingURL=filter-emboss.esm.js.map\n","/*!\n * @pixi/filter-glitch - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-glitch is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as e,Texture as i,SCALE_MODES as t,DEG_TO_RAD as n}from\"pixi.js\";var r=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",s=\"// precision highp float;\\n\\nvarying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform vec4 filterArea;\\nuniform vec4 filterClamp;\\nuniform vec2 dimensions;\\nuniform float aspect;\\n\\nuniform sampler2D displacementMap;\\nuniform float offset;\\nuniform float sinDir;\\nuniform float cosDir;\\nuniform int fillMode;\\n\\nuniform float seed;\\nuniform vec2 red;\\nuniform vec2 green;\\nuniform vec2 blue;\\n\\nconst int TRANSPARENT = 0;\\nconst int ORIGINAL = 1;\\nconst int LOOP = 2;\\nconst int CLAMP = 3;\\nconst int MIRROR = 4;\\n\\nvoid main(void)\\n{\\n vec2 coord = (vTextureCoord * filterArea.xy) / dimensions;\\n\\n if (coord.x > 1.0 || coord.y > 1.0) {\\n return;\\n }\\n\\n float cx = coord.x - 0.5;\\n float cy = (coord.y - 0.5) * aspect;\\n float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5;\\n\\n // displacementMap: repeat\\n // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);\\n\\n // displacementMap: mirror\\n ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);\\n\\n vec4 dc = texture2D(displacementMap, vec2(0.5, ny));\\n\\n float displacement = (dc.r - dc.g) * (offset / filterArea.x);\\n\\n coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * aspect);\\n\\n if (fillMode == CLAMP) {\\n coord = clamp(coord, filterClamp.xy, filterClamp.zw);\\n } else {\\n if( coord.x > filterClamp.z ) {\\n if (fillMode == ORIGINAL) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n } else if (fillMode == LOOP) {\\n coord.x -= filterClamp.z;\\n } else if (fillMode == MIRROR) {\\n coord.x = filterClamp.z * 2.0 - coord.x;\\n } else {\\n gl_FragColor = vec4(0., 0., 0., 0.);\\n return;\\n }\\n } else if( coord.x < filterClamp.x ) {\\n if (fillMode == ORIGINAL) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n } else if (fillMode == LOOP) {\\n coord.x += filterClamp.z;\\n } else if (fillMode == MIRROR) {\\n coord.x *= -filterClamp.z;\\n } else {\\n gl_FragColor = vec4(0., 0., 0., 0.);\\n return;\\n }\\n }\\n\\n if( coord.y > filterClamp.w ) {\\n if (fillMode == ORIGINAL) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n } else if (fillMode == LOOP) {\\n coord.y -= filterClamp.w;\\n } else if (fillMode == MIRROR) {\\n coord.y = filterClamp.w * 2.0 - coord.y;\\n } else {\\n gl_FragColor = vec4(0., 0., 0., 0.);\\n return;\\n }\\n } else if( coord.y < filterClamp.y ) {\\n if (fillMode == ORIGINAL) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n } else if (fillMode == LOOP) {\\n coord.y += filterClamp.w;\\n } else if (fillMode == MIRROR) {\\n coord.y *= -filterClamp.w;\\n } else {\\n gl_FragColor = vec4(0., 0., 0., 0.);\\n return;\\n }\\n }\\n }\\n\\n gl_FragColor.r = texture2D(uSampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r;\\n gl_FragColor.g = texture2D(uSampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g;\\n gl_FragColor.b = texture2D(uSampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b;\\n gl_FragColor.a = texture2D(uSampler, coord).a;\\n}\\n\",o=function(e){function o(n){void 0===n&&(n={}),e.call(this,r,s),this.uniforms.dimensions=new Float32Array(2),n=Object.assign({slices:5,offset:100,direction:0,fillMode:0,average:!1,seed:0,red:[0,0],green:[0,0],blue:[0,0],minSize:8,sampleSize:512},n),this.direction=n.direction,this.red=n.red,this.green=n.green,this.blue=n.blue,this.offset=n.offset,this.fillMode=n.fillMode,this.average=n.average,this.seed=n.seed,this.minSize=n.minSize,this.sampleSize=n.sampleSize,this._canvas=document.createElement(\"canvas\"),this._canvas.width=4,this._canvas.height=this.sampleSize,this.texture=i.fromCanvas(this._canvas,t.NEAREST),this._slices=0,this.slices=n.slices}e&&(o.__proto__=e),o.prototype=Object.create(e&&e.prototype),o.prototype.constructor=o;var l={sizes:{configurable:!0},offsets:{configurable:!0},slices:{configurable:!0},direction:{configurable:!0},red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return o.prototype.apply=function(e,i,t,n){var r=i.sourceFrame.width,s=i.sourceFrame.height;this.uniforms.dimensions[0]=r,this.uniforms.dimensions[1]=s,this.uniforms.aspect=s/r,this.uniforms.seed=this.seed,this.uniforms.offset=this.offset,this.uniforms.fillMode=this.fillMode,e.applyFilter(this,i,t,n)},o.prototype._randomizeSizes=function(){var e=this._sizes,i=this._slices-1,t=this.sampleSize,n=Math.min(this.minSize/t,.9/this._slices);if(this.average){for(var r=this._slices,s=1,o=0;o<i;o++){var l=s/(r-o),f=Math.max(l*(1-.6*Math.random()),n);e[o]=f,s-=f}e[i]=s}else{for(var a=1,c=Math.sqrt(1/this._slices),u=0;u<i;u++){var d=Math.max(c*a*Math.random(),n);e[u]=d,a-=d}e[i]=a}this.shuffle()},o.prototype.shuffle=function(){for(var e=this._sizes,i=this._slices-1;i>0;i--){var t=Math.random()*i>>0,n=e[i];e[i]=e[t],e[t]=n}},o.prototype._randomizeOffsets=function(){for(var e=0;e<this._slices;e++)this._offsets[e]=Math.random()*(Math.random()<.5?-1:1)},o.prototype.refresh=function(){this._randomizeSizes(),this._randomizeOffsets(),this.redraw()},o.prototype.redraw=function(){var e,i=this.sampleSize,t=this.texture,n=this._canvas.getContext(\"2d\");n.clearRect(0,0,8,i);for(var r=0,s=0;s<this._slices;s++){e=Math.floor(256*this._offsets[s]);var o=this._sizes[s]*i,l=e>0?e:0,f=e<0?-e:0;n.fillStyle=\"rgba(\"+l+\", \"+f+\", 0, 1)\",n.fillRect(0,r>>0,i,o+1>>0),r+=o}t.baseTexture.update(),this.uniforms.displacementMap=t},l.sizes.set=function(e){for(var i=Math.min(this._slices,e.length),t=0;t<i;t++)this._sizes[t]=e[t]},l.sizes.get=function(){return this._sizes},l.offsets.set=function(e){for(var i=Math.min(this._slices,e.length),t=0;t<i;t++)this._offsets[t]=e[t]},l.offsets.get=function(){return this._offsets},l.slices.get=function(){return this._slices},l.slices.set=function(e){this._slices!==e&&(this._slices=e,this.uniforms.slices=e,this._sizes=this.uniforms.slicesWidth=new Float32Array(e),this._offsets=this.uniforms.slicesOffset=new Float32Array(e),this.refresh())},l.direction.get=function(){return this._direction},l.direction.set=function(e){if(this._direction!==e){this._direction=e;var i=e*n;this.uniforms.sinDir=Math.sin(i),this.uniforms.cosDir=Math.cos(i)}},l.red.get=function(){return this.uniforms.red},l.red.set=function(e){this.uniforms.red=e},l.green.get=function(){return this.uniforms.green},l.green.set=function(e){this.uniforms.green=e},l.blue.get=function(){return this.uniforms.blue},l.blue.set=function(e){this.uniforms.blue=e},o.prototype.destroy=function(){this.texture.destroy(!0),this.texture=null,this._canvas=null,this.red=null,this.green=null,this.blue=null,this._sizes=null,this._offsets=null},Object.defineProperties(o.prototype,l),o}(e);o.TRANSPARENT=0,o.ORIGINAL=1,o.LOOP=2,o.CLAMP=3,o.MIRROR=4;export{o as GlitchFilter};\n//# sourceMappingURL=filter-glitch.esm.js.map\n","/*!\n * @pixi/filter-glow - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-glow is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{utils as o,Filter as n}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"varying vec2 vTextureCoord;\\nvarying vec4 vColor;\\n\\nuniform sampler2D uSampler;\\n\\nuniform float distance;\\nuniform float outerStrength;\\nuniform float innerStrength;\\nuniform vec4 glowColor;\\nuniform vec4 filterArea;\\nuniform vec4 filterClamp;\\nconst float PI = 3.14159265358979323846264;\\n\\nvoid main(void) {\\n vec2 px = vec2(1.0 / filterArea.x, 1.0 / filterArea.y);\\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\\n vec4 curColor;\\n float totalAlpha = 0.0;\\n float maxTotalAlpha = 0.0;\\n float cosAngle;\\n float sinAngle;\\n vec2 displaced;\\n for (float angle = 0.0; angle <= PI * 2.0; angle += %QUALITY_DIST%) {\\n cosAngle = cos(angle);\\n sinAngle = sin(angle);\\n for (float curDistance = 1.0; curDistance <= %DIST%; curDistance++) {\\n displaced.x = vTextureCoord.x + cosAngle * curDistance * px.x;\\n displaced.y = vTextureCoord.y + sinAngle * curDistance * px.y;\\n curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw));\\n totalAlpha += (distance - curDistance) * curColor.a;\\n maxTotalAlpha += (distance - curDistance);\\n }\\n }\\n maxTotalAlpha = max(maxTotalAlpha, 0.0001);\\n\\n ownColor.a = max(ownColor.a, 0.0001);\\n ownColor.rgb = ownColor.rgb / ownColor.a;\\n float outerGlowAlpha = (totalAlpha / maxTotalAlpha) * outerStrength * (1. - ownColor.a);\\n float innerGlowAlpha = ((maxTotalAlpha - totalAlpha) / maxTotalAlpha) * innerStrength * ownColor.a;\\n float resultAlpha = (ownColor.a + outerGlowAlpha);\\n gl_FragColor = vec4(mix(mix(ownColor.rgb, glowColor.rgb, innerGlowAlpha / ownColor.a), glowColor.rgb, outerGlowAlpha / resultAlpha) * resultAlpha, resultAlpha);\\n}\\n\",e=function(n){function e(o,e,l,a,i){void 0===o&&(o=10),void 0===e&&(e=4),void 0===l&&(l=0),void 0===a&&(a=16777215),void 0===i&&(i=.1),n.call(this,t,r.replace(/%QUALITY_DIST%/gi,\"\"+(1/i/o).toFixed(7)).replace(/%DIST%/gi,\"\"+o.toFixed(7))),this.uniforms.glowColor=new Float32Array([0,0,0,1]),this.distance=o,this.color=a,this.outerStrength=e,this.innerStrength=l}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var l={color:{configurable:!0},distance:{configurable:!0},outerStrength:{configurable:!0},innerStrength:{configurable:!0}};return l.color.get=function(){return o.rgb2hex(this.uniforms.glowColor)},l.color.set=function(n){o.hex2rgb(n,this.uniforms.glowColor)},l.distance.get=function(){return this.uniforms.distance},l.distance.set=function(o){this.uniforms.distance=o},l.outerStrength.get=function(){return this.uniforms.outerStrength},l.outerStrength.set=function(o){this.uniforms.outerStrength=o},l.innerStrength.get=function(){return this.uniforms.innerStrength},l.innerStrength.set=function(o){this.uniforms.innerStrength=o},Object.defineProperties(e.prototype,l),e}(n);export{e as GlowFilter};\n//# sourceMappingURL=filter-glow.esm.js.map\n","/*!\n * @pixi/filter-godray - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-godray is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as n,Point as e,DEG_TO_RAD as t}from\"pixi.js\";var i=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",o=\"vec3 mod289(vec3 x)\\n{\\n return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\nvec4 mod289(vec4 x)\\n{\\n return x - floor(x * (1.0 / 289.0)) * 289.0;\\n}\\nvec4 permute(vec4 x)\\n{\\n return mod289(((x * 34.0) + 1.0) * x);\\n}\\nvec4 taylorInvSqrt(vec4 r)\\n{\\n return 1.79284291400159 - 0.85373472095314 * r;\\n}\\nvec3 fade(vec3 t)\\n{\\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\\n}\\n// Classic Perlin noise, periodic variant\\nfloat pnoise(vec3 P, vec3 rep)\\n{\\n vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\\n vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\\n Pi0 = mod289(Pi0);\\n Pi1 = mod289(Pi1);\\n vec3 Pf0 = fract(P); // Fractional part for interpolation\\n vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\\n vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\\n vec4 iy = vec4(Pi0.yy, Pi1.yy);\\n vec4 iz0 = Pi0.zzzz;\\n vec4 iz1 = Pi1.zzzz;\\n vec4 ixy = permute(permute(ix) + iy);\\n vec4 ixy0 = permute(ixy + iz0);\\n vec4 ixy1 = permute(ixy + iz1);\\n vec4 gx0 = ixy0 * (1.0 / 7.0);\\n vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\\n gx0 = fract(gx0);\\n vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\\n vec4 sz0 = step(gz0, vec4(0.0));\\n gx0 -= sz0 * (step(0.0, gx0) - 0.5);\\n gy0 -= sz0 * (step(0.0, gy0) - 0.5);\\n vec4 gx1 = ixy1 * (1.0 / 7.0);\\n vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\\n gx1 = fract(gx1);\\n vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\\n vec4 sz1 = step(gz1, vec4(0.0));\\n gx1 -= sz1 * (step(0.0, gx1) - 0.5);\\n gy1 -= sz1 * (step(0.0, gy1) - 0.5);\\n vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);\\n vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);\\n vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);\\n vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);\\n vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);\\n vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);\\n vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);\\n vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);\\n vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\\n g000 *= norm0.x;\\n g010 *= norm0.y;\\n g100 *= norm0.z;\\n g110 *= norm0.w;\\n vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\\n g001 *= norm1.x;\\n g011 *= norm1.y;\\n g101 *= norm1.z;\\n g111 *= norm1.w;\\n float n000 = dot(g000, Pf0);\\n float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\\n float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\\n float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\\n float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\\n float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\\n float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\\n float n111 = dot(g111, Pf1);\\n vec3 fade_xyz = fade(Pf0);\\n vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\\n vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\\n float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);\\n return 2.2 * n_xyz;\\n}\\nfloat turb(vec3 P, vec3 rep, float lacunarity, float gain)\\n{\\n float sum = 0.0;\\n float sc = 1.0;\\n float totalgain = 1.0;\\n for (float i = 0.0; i < 6.0; i++)\\n {\\n sum += totalgain * pnoise(P * sc, rep);\\n sc *= lacunarity;\\n totalgain *= gain;\\n }\\n return abs(sum);\\n}\\n\",r=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\nuniform vec2 dimensions;\\n\\nuniform vec2 light;\\nuniform bool parallel;\\nuniform float aspect;\\n\\nuniform float gain;\\nuniform float lacunarity;\\nuniform float time;\\n\\n${perlin}\\n\\nvoid main(void) {\\n vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;\\n\\n float d;\\n\\n if (parallel) {\\n float _cos = light.x;\\n float _sin = light.y;\\n d = (_cos * coord.x) + (_sin * coord.y * aspect);\\n } else {\\n float dx = coord.x - light.x / dimensions.x;\\n float dy = (coord.y - light.y / dimensions.y) * aspect;\\n float dis = sqrt(dx * dx + dy * dy) + 0.00001;\\n d = dy / dis;\\n }\\n\\n vec3 dir = vec3(d, d, 0.0);\\n\\n float noise = turb(dir + vec3(time, 0.0, 62.1 + time) * 0.05, vec3(480.0, 320.0, 480.0), lacunarity, gain);\\n noise = mix(noise, 0.0, 0.3);\\n //fade vertically.\\n vec4 mist = vec4(noise, noise, noise, 1.0) * (1.0 - coord.y);\\n mist.a = 1.0;\\n\\n gl_FragColor = texture2D(uSampler, vTextureCoord) + mist;\\n}\\n\",a=function(n){function a(t){n.call(this,i,r.replace(\"${perlin}\",o)),this.uniforms.dimensions=new Float32Array(2),\"number\"==typeof t&&(console.warn(\"GodrayFilter now uses options instead of (angle, gain, lacunarity, time)\"),t={angle:t},void 0!==arguments[1]&&(t.gain=arguments[1]),void 0!==arguments[2]&&(t.lacunarity=arguments[2]),void 0!==arguments[3]&&(t.time=arguments[3])),t=Object.assign({angle:30,gain:.5,lacunarity:2.5,time:0,parallel:!0,center:[0,0]},t),this._angleLight=new e,this.angle=t.angle,this.gain=t.gain,this.lacunarity=t.lacunarity,this.parallel=t.parallel,this.center=t.center,this.time=t.time}n&&(a.__proto__=n),a.prototype=Object.create(n&&n.prototype),a.prototype.constructor=a;var c={angle:{configurable:!0},gain:{configurable:!0},lacunarity:{configurable:!0}};return a.prototype.apply=function(n,e,t,i){var o=e.sourceFrame,r=o.width,a=o.height;this.uniforms.light=this.parallel?this._angleLight:this.center,this.uniforms.parallel=this.parallel,this.uniforms.dimensions[0]=r,this.uniforms.dimensions[1]=a,this.uniforms.aspect=a/r,this.uniforms.time=this.time,n.applyFilter(this,e,t,i)},c.angle.get=function(){return this._angle},c.angle.set=function(n){this._angle=n;var e=n*t;this._angleLight.x=Math.cos(e),this._angleLight.y=Math.sin(e)},c.gain.get=function(){return this.uniforms.gain},c.gain.set=function(n){this.uniforms.gain=n},c.lacunarity.get=function(){return this.uniforms.lacunarity},c.lacunarity.set=function(n){this.uniforms.lacunarity=n},Object.defineProperties(a.prototype,c),a}(n);export{a as GodrayFilter};\n//# sourceMappingURL=filter-godray.esm.js.map\n","/*!\n * @pixi/filter-motion-blur - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-motion-blur is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Point as e,ObservablePoint as t,Filter as i}from\"pixi.js\";var o=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",n=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\n\\nuniform vec2 uVelocity;\\nuniform int uKernelSize;\\nuniform float uOffset;\\n\\nconst int MAX_KERNEL_SIZE = 2048;\\n\\n// Notice:\\n// the perfect way:\\n// int kernelSize = min(uKernelSize, MAX_KERNELSIZE);\\n// BUT in real use-case , uKernelSize < MAX_KERNELSIZE almost always.\\n// So use uKernelSize directly.\\n\\nvoid main(void)\\n{\\n vec4 color = texture2D(uSampler, vTextureCoord);\\n\\n if (uKernelSize == 0)\\n {\\n gl_FragColor = color;\\n return;\\n }\\n\\n vec2 velocity = uVelocity / filterArea.xy;\\n float offset = -uOffset / length(uVelocity) - 0.5;\\n int k = uKernelSize - 1;\\n\\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\\n if (i == k) {\\n break;\\n }\\n vec2 bias = velocity * (float(i) / float(k) + offset);\\n color += texture2D(uSampler, vTextureCoord + bias);\\n }\\n gl_FragColor = color / float(uKernelSize);\\n}\\n\",r=function(i){function r(e,r,l){void 0===e&&(e=[0,0]),void 0===r&&(r=5),void 0===l&&(l=0),i.call(this,o,n),this.uniforms.uVelocity=new Float32Array(2),this._velocity=new t(this.velocityChanged,this),this.velocity=e,this.kernelSize=r,this.offset=l}i&&(r.__proto__=i),r.prototype=Object.create(i&&i.prototype),r.prototype.constructor=r;var l={velocity:{configurable:!0},offset:{configurable:!0}};return r.prototype.apply=function(e,t,i,o){var n=this.velocity,r=n.x,l=n.y;this.uniforms.uKernelSize=0!==r||0!==l?this.kernelSize:0,e.applyFilter(this,t,i,o)},l.velocity.set=function(i){Array.isArray(i)?this._velocity.set(i[0],i[1]):(i instanceof e||i instanceof t)&&this._velocity.copy(i)},l.velocity.get=function(){return this._velocity},r.prototype.velocityChanged=function(){this.uniforms.uVelocity[0]=this._velocity.x,this.uniforms.uVelocity[1]=this._velocity.y},l.offset.set=function(e){this.uniforms.uOffset=e},l.offset.get=function(){return this.uniforms.uOffset},Object.defineProperties(r.prototype,l),r}(i);export{r as MotionBlurFilter};\n//# sourceMappingURL=filter-motion-blur.esm.js.map\n","/*!\n * @pixi/filter-multi-color-replace - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-multi-color-replace is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{utils as o,Filter as r}from\"pixi.js\";var e=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",n=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform float epsilon;\\n\\nconst int MAX_COLORS = %maxColors%;\\n\\nuniform vec3 originalColors[MAX_COLORS];\\nuniform vec3 targetColors[MAX_COLORS];\\n\\nvoid main(void)\\n{\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n\\n float alpha = gl_FragColor.a;\\n if (alpha < 0.0001)\\n {\\n return;\\n }\\n\\n vec3 color = gl_FragColor.rgb / alpha;\\n\\n for(int i = 0; i < MAX_COLORS; i++)\\n {\\n vec3 origColor = originalColors[i];\\n if (origColor.r < 0.0)\\n {\\n break;\\n }\\n vec3 colorDiff = origColor - color;\\n if (length(colorDiff) < epsilon)\\n {\\n vec3 targetColor = targetColors[i];\\n gl_FragColor = vec4((targetColor + colorDiff) * alpha, alpha);\\n return;\\n }\\n }\\n}\\n\",t=function(r){function t(o,t,i){void 0===t&&(t=.05),void 0===i&&(i=null),i=i||o.length,r.call(this,e,n.replace(/%maxColors%/g,i)),this.epsilon=t,this._maxColors=i,this._replacements=null,this.uniforms.originalColors=new Float32Array(3*i),this.uniforms.targetColors=new Float32Array(3*i),this.replacements=o}r&&(t.__proto__=r),t.prototype=Object.create(r&&r.prototype),t.prototype.constructor=t;var i={replacements:{configurable:!0},maxColors:{configurable:!0},epsilon:{configurable:!0}};return i.replacements.set=function(r){var e=this.uniforms.originalColors,n=this.uniforms.targetColors,t=r.length;if(t>this._maxColors)throw\"Length of replacements (\"+t+\") exceeds the maximum colors length (\"+this._maxColors+\")\";e[3*t]=-1;for(var i=0;i<t;i++){var l=r[i],a=l[0];\"number\"==typeof a?a=o.hex2rgb(a):l[0]=o.rgb2hex(a),e[3*i]=a[0],e[3*i+1]=a[1],e[3*i+2]=a[2];var s=l[1];\"number\"==typeof s?s=o.hex2rgb(s):l[1]=o.rgb2hex(s),n[3*i]=s[0],n[3*i+1]=s[1],n[3*i+2]=s[2]}this._replacements=r},i.replacements.get=function(){return this._replacements},t.prototype.refresh=function(){this.replacements=this._replacements},i.maxColors.get=function(){return this._maxColors},i.epsilon.set=function(o){this.uniforms.epsilon=o},i.epsilon.get=function(){return this.uniforms.epsilon},Object.defineProperties(t.prototype,i),t}(r);export{t as MultiColorReplaceFilter};\n//# sourceMappingURL=filter-multi-color-replace.esm.js.map\n","/*!\n * @pixi/filter-old-film - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-old-film is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as n}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",i=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\nuniform vec2 dimensions;\\n\\nuniform float sepia;\\nuniform float noise;\\nuniform float noiseSize;\\nuniform float scratch;\\nuniform float scratchDensity;\\nuniform float scratchWidth;\\nuniform float vignetting;\\nuniform float vignettingAlpha;\\nuniform float vignettingBlur;\\nuniform float seed;\\n\\nconst float SQRT_2 = 1.414213;\\nconst vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\\n\\nfloat rand(vec2 co) {\\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\\n}\\n\\nvec3 Overlay(vec3 src, vec3 dst)\\n{\\n // if (dst <= 0.5) then: 2 * src * dst\\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\\n return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),\\n (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),\\n (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));\\n}\\n\\n\\nvoid main()\\n{\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n vec3 color = gl_FragColor.rgb;\\n\\n if (sepia > 0.0)\\n {\\n float gray = (color.x + color.y + color.z) / 3.0;\\n vec3 grayscale = vec3(gray);\\n\\n color = Overlay(SEPIA_RGB, grayscale);\\n\\n color = grayscale + sepia * (color - grayscale);\\n }\\n\\n vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy;\\n\\n if (vignetting > 0.0)\\n {\\n float outter = SQRT_2 - vignetting * SQRT_2;\\n vec2 dir = vec2(vec2(0.5, 0.5) - coord);\\n dir.y *= dimensions.y / dimensions.x;\\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0);\\n color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha);\\n }\\n\\n if (scratchDensity > seed && scratch != 0.0)\\n {\\n float phase = seed * 256.0;\\n float s = mod(floor(phase), 2.0);\\n float dist = 1.0 / scratchDensity;\\n float d = distance(coord, vec2(seed * dist, abs(s - seed * dist)));\\n if (d < seed * 0.6 + 0.4)\\n {\\n highp float period = scratchDensity * 10.0;\\n\\n float xx = coord.x * period + phase;\\n float aa = abs(mod(xx, 0.5) * 4.0);\\n float bb = mod(floor(xx / 0.5), 2.0);\\n float yy = (1.0 - bb) * aa + bb * (2.0 - aa);\\n\\n float kk = 2.0 * period;\\n float dw = scratchWidth / dimensions.x * (0.75 + seed);\\n float dh = dw * kk;\\n\\n float tine = (yy - (2.0 - dh));\\n\\n if (tine > 0.0) {\\n float _sign = sign(scratch);\\n\\n tine = s * tine / period + scratch + 0.1;\\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\\n\\n color.rgb *= tine;\\n }\\n }\\n }\\n\\n if (noise > 0.0 && noiseSize > 0.0)\\n {\\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\\n // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0);\\n // float _noise = snoise(d) * 0.5;\\n float _noise = rand(pixelCoord * noiseSize * seed) - 0.5;\\n color += _noise * noise;\\n }\\n\\n gl_FragColor.rgb = color;\\n}\\n\",e=function(n){function e(e,o){void 0===o&&(o=0),n.call(this,t,i),this.uniforms.dimensions=new Float32Array(2),\"number\"==typeof e?(this.seed=e,e=null):this.seed=o,Object.assign(this,{sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3},e)}n&&(e.__proto__=n),e.prototype=Object.create(n&&n.prototype),e.prototype.constructor=e;var o={sepia:{configurable:!0},noise:{configurable:!0},noiseSize:{configurable:!0},scratch:{configurable:!0},scratchDensity:{configurable:!0},scratchWidth:{configurable:!0},vignetting:{configurable:!0},vignettingAlpha:{configurable:!0},vignettingBlur:{configurable:!0}};return e.prototype.apply=function(n,t,i,e){this.uniforms.dimensions[0]=t.sourceFrame.width,this.uniforms.dimensions[1]=t.sourceFrame.height,this.uniforms.seed=this.seed,n.applyFilter(this,t,i,e)},o.sepia.set=function(n){this.uniforms.sepia=n},o.sepia.get=function(){return this.uniforms.sepia},o.noise.set=function(n){this.uniforms.noise=n},o.noise.get=function(){return this.uniforms.noise},o.noiseSize.set=function(n){this.uniforms.noiseSize=n},o.noiseSize.get=function(){return this.uniforms.noiseSize},o.scratch.set=function(n){this.uniforms.scratch=n},o.scratch.get=function(){return this.uniforms.scratch},o.scratchDensity.set=function(n){this.uniforms.scratchDensity=n},o.scratchDensity.get=function(){return this.uniforms.scratchDensity},o.scratchWidth.set=function(n){this.uniforms.scratchWidth=n},o.scratchWidth.get=function(){return this.uniforms.scratchWidth},o.vignetting.set=function(n){this.uniforms.vignetting=n},o.vignetting.get=function(){return this.uniforms.vignetting},o.vignettingAlpha.set=function(n){this.uniforms.vignettingAlpha=n},o.vignettingAlpha.get=function(){return this.uniforms.vignettingAlpha},o.vignettingBlur.set=function(n){this.uniforms.vignettingBlur=n},o.vignettingBlur.get=function(){return this.uniforms.vignettingBlur},Object.defineProperties(e.prototype,o),e}(n);export{e as OldFilmFilter};\n//# sourceMappingURL=filter-old-film.esm.js.map\n","/*!\n * @pixi/filter-outline - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-outline is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{utils as o,Filter as e}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform vec2 thickness;\\nuniform vec4 outlineColor;\\nuniform vec4 filterClamp;\\n\\nconst float DOUBLE_PI = 3.14159265358979323846264 * 2.;\\n\\nvoid main(void) {\\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\\n vec4 curColor;\\n float maxAlpha = 0.;\\n vec2 displaced;\\n for (float angle = 0.; angle <= DOUBLE_PI; angle += ${angleStep}) {\\n displaced.x = vTextureCoord.x + thickness.x * cos(angle);\\n displaced.y = vTextureCoord.y + thickness.y * sin(angle);\\n curColor = texture2D(uSampler, clamp(displaced, filterClamp.xy, filterClamp.zw));\\n maxAlpha = max(maxAlpha, curColor.a);\\n }\\n float resultAlpha = max(maxAlpha, ownColor.a);\\n gl_FragColor = vec4((ownColor.rgb + outlineColor.rgb * (1. - ownColor.a)) * resultAlpha, resultAlpha);\\n}\\n\",n=function(e){function n(o,i,a){void 0===o&&(o=1),void 0===i&&(i=0),void 0===a&&(a=.1);var l=Math.max(a*n.MAX_SAMPLES,n.MIN_SAMPLES),s=(2*Math.PI/l).toFixed(7);e.call(this,t,r.replace(/\\$\\{angleStep\\}/,s)),this.uniforms.thickness=new Float32Array([0,0]),this.thickness=o,this.uniforms.outlineColor=new Float32Array([0,0,0,1]),this.color=i,this.quality=a}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={color:{configurable:!0}};return n.prototype.apply=function(o,e,t,r){this.uniforms.thickness[0]=this.thickness/e.size.width,this.uniforms.thickness[1]=this.thickness/e.size.height,o.applyFilter(this,e,t,r)},i.color.get=function(){return o.rgb2hex(this.uniforms.outlineColor)},i.color.set=function(e){o.hex2rgb(e,this.uniforms.outlineColor)},Object.defineProperties(n.prototype,i),n}(e);n.MIN_SAMPLES=1,n.MAX_SAMPLES=100;export{n as OutlineFilter};\n//# sourceMappingURL=filter-outline.esm.js.map\n","/*!\n * @pixi/filter-pixelate - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-pixelate is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as o}from\"pixi.js\";var r=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"precision mediump float;\\n\\nvarying vec2 vTextureCoord;\\n\\nuniform vec2 size;\\nuniform sampler2D uSampler;\\n\\nuniform vec4 filterArea;\\n\\nvec2 mapCoord( vec2 coord )\\n{\\n coord *= filterArea.xy;\\n coord += filterArea.zw;\\n\\n return coord;\\n}\\n\\nvec2 unmapCoord( vec2 coord )\\n{\\n coord -= filterArea.zw;\\n coord /= filterArea.xy;\\n\\n return coord;\\n}\\n\\nvec2 pixelate(vec2 coord, vec2 size)\\n{\\n\\treturn floor( coord / size ) * size;\\n}\\n\\nvoid main(void)\\n{\\n vec2 coord = mapCoord(vTextureCoord);\\n\\n coord = pixelate(coord, size);\\n\\n coord = unmapCoord(coord);\\n\\n gl_FragColor = texture2D(uSampler, coord);\\n}\\n\",n=function(o){function n(n){void 0===n&&(n=10),o.call(this,r,e),this.size=n}o&&(n.__proto__=o),n.prototype=Object.create(o&&o.prototype),n.prototype.constructor=n;var t={size:{configurable:!0}};return t.size.get=function(){return this.uniforms.size},t.size.set=function(o){\"number\"==typeof o&&(o=[o,o]),this.uniforms.size=o},Object.defineProperties(n.prototype,t),n}(o);export{n as PixelateFilter};\n//# sourceMappingURL=filter-pixelate.esm.js.map\n","/*!\n * @pixi/filter-radial-blur - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-radial-blur is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as n}from\"pixi.js\";var e=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\n\\nuniform float uRadian;\\nuniform vec2 uCenter;\\nuniform float uRadius;\\nuniform int uKernelSize;\\n\\nconst int MAX_KERNEL_SIZE = 2048;\\n\\nvoid main(void)\\n{\\n vec4 color = texture2D(uSampler, vTextureCoord);\\n\\n if (uKernelSize == 0)\\n {\\n gl_FragColor = color;\\n return;\\n }\\n\\n float aspect = filterArea.y / filterArea.x;\\n vec2 center = uCenter.xy / filterArea.xy;\\n float gradient = uRadius / filterArea.x * 0.3;\\n float radius = uRadius / filterArea.x - gradient * 0.5;\\n int k = uKernelSize - 1;\\n\\n vec2 coord = vTextureCoord;\\n vec2 dir = vec2(center - coord);\\n float dist = length(vec2(dir.x, dir.y * aspect));\\n\\n float radianStep = uRadian;\\n if (radius >= 0.0 && dist > radius) {\\n float delta = dist - radius;\\n float gap = gradient;\\n float scale = 1.0 - abs(delta / gap);\\n if (scale <= 0.0) {\\n gl_FragColor = color;\\n return;\\n }\\n radianStep *= scale;\\n }\\n radianStep /= float(k);\\n\\n float s = sin(radianStep);\\n float c = cos(radianStep);\\n mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c));\\n\\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\\n if (i == k) {\\n break;\\n }\\n\\n coord -= center;\\n coord.y *= aspect;\\n coord = rotationMatrix * coord;\\n coord.y /= aspect;\\n coord += center;\\n\\n vec4 sample = texture2D(uSampler, coord);\\n\\n // switch to pre-multiplied alpha to correctly blur transparent images\\n // sample.rgb *= sample.a;\\n\\n color += sample;\\n }\\n\\n gl_FragColor = color / float(uKernelSize);\\n}\\n\",t=function(n){function t(t,i,o,a){void 0===t&&(t=0),void 0===i&&(i=[0,0]),void 0===o&&(o=5),void 0===a&&(a=-1),n.call(this,e,r),this._angle=0,this.angle=t,this.center=i,this.kernelSize=o,this.radius=a}n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t;var i={angle:{configurable:!0},center:{configurable:!0},radius:{configurable:!0}};return t.prototype.apply=function(n,e,r,t){this.uniforms.uKernelSize=0!==this._angle?this.kernelSize:0,n.applyFilter(this,e,r,t)},i.angle.set=function(n){this._angle=n,this.uniforms.uRadian=n*Math.PI/180},i.angle.get=function(){return this._angle},i.center.get=function(){return this.uniforms.uCenter},i.center.set=function(n){this.uniforms.uCenter=n},i.radius.get=function(){return this.uniforms.uRadius},i.radius.set=function(n){(n<0||n===1/0)&&(n=-1),this.uniforms.uRadius=n},Object.defineProperties(t.prototype,i),t}(n);export{t as RadialBlurFilter};\n//# sourceMappingURL=filter-radial-blur.esm.js.map\n","/*!\n * @pixi/filter-reflection - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-reflection is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as r}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\n\\nuniform vec4 filterArea;\\nuniform vec4 filterClamp;\\nuniform vec2 dimensions;\\n\\nuniform bool mirror;\\nuniform float boundary;\\nuniform vec2 amplitude;\\nuniform vec2 waveLength;\\nuniform vec2 alpha;\\nuniform float time;\\n\\nfloat rand(vec2 co) {\\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\\n}\\n\\nvoid main(void)\\n{\\n vec2 pixelCoord = vTextureCoord.xy * filterArea.xy;\\n vec2 coord = pixelCoord / dimensions;\\n\\n if (coord.y < boundary) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n }\\n\\n float k = (coord.y - boundary) / (1. - boundary + 0.0001);\\n float areaY = boundary * dimensions.y / filterArea.y;\\n float v = areaY + areaY - vTextureCoord.y;\\n float y = mirror ? v : vTextureCoord.y;\\n\\n float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x;\\n float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y;\\n float _alpha = (alpha.y - alpha.x) * k + alpha.x;\\n\\n float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude;\\n x = clamp(x, filterClamp.x, filterClamp.z);\\n\\n vec4 color = texture2D(uSampler, vec2(x, y));\\n\\n gl_FragColor = color * _alpha;\\n}\\n\",o=function(r){function o(o){r.call(this,n,e),this.uniforms.amplitude=new Float32Array(2),this.uniforms.waveLength=new Float32Array(2),this.uniforms.alpha=new Float32Array(2),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,{mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0},o)}r&&(o.__proto__=r),o.prototype=Object.create(r&&r.prototype),o.prototype.constructor=o;var t={mirror:{configurable:!0},boundary:{configurable:!0},amplitude:{configurable:!0},waveLength:{configurable:!0},alpha:{configurable:!0}};return o.prototype.apply=function(r,n,e,o){this.uniforms.dimensions[0]=n.sourceFrame.width,this.uniforms.dimensions[1]=n.sourceFrame.height,this.uniforms.time=this.time,r.applyFilter(this,n,e,o)},t.mirror.set=function(r){this.uniforms.mirror=r},t.mirror.get=function(){return this.uniforms.mirror},t.boundary.set=function(r){this.uniforms.boundary=r},t.boundary.get=function(){return this.uniforms.boundary},t.amplitude.set=function(r){this.uniforms.amplitude[0]=r[0],this.uniforms.amplitude[1]=r[1]},t.amplitude.get=function(){return this.uniforms.amplitude},t.waveLength.set=function(r){this.uniforms.waveLength[0]=r[0],this.uniforms.waveLength[1]=r[1]},t.waveLength.get=function(){return this.uniforms.waveLength},t.alpha.set=function(r){this.uniforms.alpha[0]=r[0],this.uniforms.alpha[1]=r[1]},t.alpha.get=function(){return this.uniforms.alpha},Object.defineProperties(o.prototype,t),o}(r);export{o as ReflectionFilter};\n//# sourceMappingURL=filter-reflection.esm.js.map\n","/*!\n * @pixi/filter-rgb-split - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-rgb-split is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as e}from\"pixi.js\";var r=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",o=\"precision mediump float;\\n\\nvarying vec2 vTextureCoord;\\n\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\nuniform vec2 red;\\nuniform vec2 green;\\nuniform vec2 blue;\\n\\nvoid main(void)\\n{\\n gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r;\\n gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g;\\n gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b;\\n gl_FragColor.a = texture2D(uSampler, vTextureCoord).a;\\n}\\n\",n=function(e){function n(n,t,i){void 0===n&&(n=[-10,0]),void 0===t&&(t=[0,10]),void 0===i&&(i=[0,0]),e.call(this,r,o),this.red=n,this.green=t,this.blue=i}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var t={red:{configurable:!0},green:{configurable:!0},blue:{configurable:!0}};return t.red.get=function(){return this.uniforms.red},t.red.set=function(e){this.uniforms.red=e},t.green.get=function(){return this.uniforms.green},t.green.set=function(e){this.uniforms.green=e},t.blue.get=function(){return this.uniforms.blue},t.blue.set=function(e){this.uniforms.blue=e},Object.defineProperties(n.prototype,t),n}(e);export{n as RGBSplitFilter};\n//# sourceMappingURL=filter-rgb-split.esm.js.map\n","/*!\n * @pixi/filter-shockwave - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-shockwave is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as e}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",t=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\nuniform vec4 filterClamp;\\n\\nuniform vec2 center;\\n\\nuniform float amplitude;\\nuniform float wavelength;\\n// uniform float power;\\nuniform float brightness;\\nuniform float speed;\\nuniform float radius;\\n\\nuniform float time;\\n\\nconst float PI = 3.14159;\\n\\nvoid main()\\n{\\n float halfWavelength = wavelength * 0.5 / filterArea.x;\\n float maxRadius = radius / filterArea.x;\\n float currentRadius = time * speed / filterArea.x;\\n\\n float fade = 1.0;\\n\\n if (maxRadius > 0.0) {\\n if (currentRadius > maxRadius) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n }\\n fade = 1.0 - pow(currentRadius / maxRadius, 2.0);\\n }\\n\\n vec2 dir = vec2(vTextureCoord - center / filterArea.xy);\\n dir.y *= filterArea.y / filterArea.x;\\n float dist = length(dir);\\n\\n if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n }\\n\\n vec2 diffUV = normalize(dir);\\n\\n float diff = (dist - currentRadius) / halfWavelength;\\n\\n float p = 1.0 - pow(abs(diff), 2.0);\\n\\n // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade );\\n float powDiff = 1.25 * sin(diff * PI) * p * ( amplitude * fade );\\n\\n vec2 offset = diffUV * powDiff / filterArea.xy;\\n\\n // Do clamp :\\n vec2 coord = vTextureCoord + offset;\\n vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw);\\n vec4 color = texture2D(uSampler, clampedCoord);\\n if (coord != clampedCoord) {\\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\\n }\\n\\n // No clamp :\\n // gl_FragColor = texture2D(uSampler, vTextureCoord + offset);\\n\\n color.rgb *= 1.0 + (brightness - 1.0) * p * fade;\\n\\n gl_FragColor = color;\\n}\\n\",r=function(e){function r(r,i,o){void 0===r&&(r=[0,0]),void 0===i&&(i={}),void 0===o&&(o=0),e.call(this,n,t),this.center=r,Array.isArray(i)&&(console.warn(\"Deprecated Warning: ShockwaveFilter params Array has been changed to options Object.\"),i={}),i=Object.assign({amplitude:30,wavelength:160,brightness:1,speed:500,radius:-1},i),this.amplitude=i.amplitude,this.wavelength=i.wavelength,this.brightness=i.brightness,this.speed=i.speed,this.radius=i.radius,this.time=o}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var i={center:{configurable:!0},amplitude:{configurable:!0},wavelength:{configurable:!0},brightness:{configurable:!0},speed:{configurable:!0},radius:{configurable:!0}};return r.prototype.apply=function(e,n,t,r){this.uniforms.time=this.time,e.applyFilter(this,n,t,r)},i.center.get=function(){return this.uniforms.center},i.center.set=function(e){this.uniforms.center=e},i.amplitude.get=function(){return this.uniforms.amplitude},i.amplitude.set=function(e){this.uniforms.amplitude=e},i.wavelength.get=function(){return this.uniforms.wavelength},i.wavelength.set=function(e){this.uniforms.wavelength=e},i.brightness.get=function(){return this.uniforms.brightness},i.brightness.set=function(e){this.uniforms.brightness=e},i.speed.get=function(){return this.uniforms.speed},i.speed.set=function(e){this.uniforms.speed=e},i.radius.get=function(){return this.uniforms.radius},i.radius.set=function(e){this.uniforms.radius=e},Object.defineProperties(r.prototype,i),r}(e);export{r as ShockwaveFilter};\n//# sourceMappingURL=filter-shockwave.esm.js.map\n","/*!\n * @pixi/filter-simple-lightmap - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-simple-lightmap is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{utils as o,Filter as r}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform sampler2D uLightmap;\\nuniform vec4 filterArea;\\nuniform vec2 dimensions;\\nuniform vec4 ambientColor;\\nvoid main() {\\n vec4 diffuseColor = texture2D(uSampler, vTextureCoord);\\n vec2 lightCoord = (vTextureCoord * filterArea.xy) / dimensions;\\n vec4 light = texture2D(uLightmap, lightCoord);\\n vec3 ambient = ambientColor.rgb * ambientColor.a;\\n vec3 intensity = ambient + light.rgb;\\n vec3 finalColor = diffuseColor.rgb * intensity;\\n gl_FragColor = vec4(finalColor, diffuseColor.a);\\n}\\n\",i=function(r){function i(o,i,n){void 0===i&&(i=0),void 0===n&&(n=1),r.call(this,t,e),this.uniforms.dimensions=new Float32Array(2),this.uniforms.ambientColor=new Float32Array([0,0,0,n]),this.texture=o,this.color=i}r&&(i.__proto__=r),i.prototype=Object.create(r&&r.prototype),i.prototype.constructor=i;var n={texture:{configurable:!0},color:{configurable:!0},alpha:{configurable:!0}};return i.prototype.apply=function(o,r,t,e){this.uniforms.dimensions[0]=r.sourceFrame.width,this.uniforms.dimensions[1]=r.sourceFrame.height,o.applyFilter(this,r,t,e)},n.texture.get=function(){return this.uniforms.uLightmap},n.texture.set=function(o){this.uniforms.uLightmap=o},n.color.set=function(r){var t=this.uniforms.ambientColor;\"number\"==typeof r?(o.hex2rgb(r,t),this._color=r):(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],this._color=o.rgb2hex(t))},n.color.get=function(){return this._color},n.alpha.get=function(){return this.uniforms.ambientColor[3]},n.alpha.set=function(o){this.uniforms.ambientColor[3]=o},Object.defineProperties(i.prototype,n),i}(r);export{i as SimpleLightmapFilter};\n//# sourceMappingURL=filter-simple-lightmap.esm.js.map\n","/*!\n * @pixi/filter-tilt-shift - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-tilt-shift is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as t,Point as r}from\"pixi.js\";var e=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",n=\"varying vec2 vTextureCoord;\\n\\nuniform sampler2D uSampler;\\nuniform float blur;\\nuniform float gradientBlur;\\nuniform vec2 start;\\nuniform vec2 end;\\nuniform vec2 delta;\\nuniform vec2 texSize;\\n\\nfloat random(vec3 scale, float seed)\\n{\\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\\n}\\n\\nvoid main(void)\\n{\\n vec4 color = vec4(0.0);\\n float total = 0.0;\\n\\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\\n vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));\\n float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;\\n\\n for (float t = -30.0; t <= 30.0; t++)\\n {\\n float percent = (t + offset - 0.5) / 30.0;\\n float weight = 1.0 - abs(percent);\\n vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);\\n sample.rgb *= sample.a;\\n color += sample * weight;\\n total += weight;\\n }\\n\\n color /= total;\\n color.rgb /= color.a + 0.00001;\\n\\n gl_FragColor = color;\\n}\\n\",i=function(t){function i(i,o,u,s){void 0===i&&(i=100),void 0===o&&(o=600),void 0===u&&(u=null),void 0===s&&(s=null),t.call(this,e,n),this.uniforms.blur=i,this.uniforms.gradientBlur=o,this.uniforms.start=u||new r(0,window.innerHeight/2),this.uniforms.end=s||new r(600,window.innerHeight/2),this.uniforms.delta=new r(30,30),this.uniforms.texSize=new r(window.innerWidth,window.innerHeight),this.updateDelta()}t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i;var o={blur:{configurable:!0},gradientBlur:{configurable:!0},start:{configurable:!0},end:{configurable:!0}};return i.prototype.updateDelta=function(){this.uniforms.delta.x=0,this.uniforms.delta.y=0},o.blur.get=function(){return this.uniforms.blur},o.blur.set=function(t){this.uniforms.blur=t},o.gradientBlur.get=function(){return this.uniforms.gradientBlur},o.gradientBlur.set=function(t){this.uniforms.gradientBlur=t},o.start.get=function(){return this.uniforms.start},o.start.set=function(t){this.uniforms.start=t,this.updateDelta()},o.end.get=function(){return this.uniforms.end},o.end.set=function(t){this.uniforms.end=t,this.updateDelta()},Object.defineProperties(i.prototype,o),i}(t),o=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.updateDelta=function(){var t=this.uniforms.end.x-this.uniforms.start.x,r=this.uniforms.end.y-this.uniforms.start.y,e=Math.sqrt(t*t+r*r);this.uniforms.delta.x=t/e,this.uniforms.delta.y=r/e},r}(i),u=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.updateDelta=function(){var t=this.uniforms.end.x-this.uniforms.start.x,r=this.uniforms.end.y-this.uniforms.start.y,e=Math.sqrt(t*t+r*r);this.uniforms.delta.x=-r/e,this.uniforms.delta.y=t/e},r}(i),s=function(t){function r(r,e,n,i){void 0===r&&(r=100),void 0===e&&(e=600),void 0===n&&(n=null),void 0===i&&(i=null),t.call(this),this.tiltShiftXFilter=new o(r,e,n,i),this.tiltShiftYFilter=new u(r,e,n,i)}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var e={blur:{configurable:!0},gradientBlur:{configurable:!0},start:{configurable:!0},end:{configurable:!0}};return r.prototype.apply=function(t,r,e){var n=t.getRenderTarget(!0);this.tiltShiftXFilter.apply(t,r,n),this.tiltShiftYFilter.apply(t,n,e),t.returnRenderTarget(n)},e.blur.get=function(){return this.tiltShiftXFilter.blur},e.blur.set=function(t){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=t},e.gradientBlur.get=function(){return this.tiltShiftXFilter.gradientBlur},e.gradientBlur.set=function(t){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=t},e.start.get=function(){return this.tiltShiftXFilter.start},e.start.set=function(t){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=t},e.end.get=function(){return this.tiltShiftXFilter.end},e.end.set=function(t){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=t},Object.defineProperties(r.prototype,e),r}(t);export{s as TiltShiftFilter,o as TiltShiftXFilter,u as TiltShiftYFilter,i as TiltShiftAxisFilter};\n//# sourceMappingURL=filter-tilt-shift.esm.js.map\n","/*!\n * @pixi/filter-twist - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-twist is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as o}from\"pixi.js\";var n=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",r=\"varying vec2 vTextureCoord;\\n\\nuniform sampler2D uSampler;\\nuniform float radius;\\nuniform float angle;\\nuniform vec2 offset;\\nuniform vec4 filterArea;\\n\\nvec2 mapCoord( vec2 coord )\\n{\\n coord *= filterArea.xy;\\n coord += filterArea.zw;\\n\\n return coord;\\n}\\n\\nvec2 unmapCoord( vec2 coord )\\n{\\n coord -= filterArea.zw;\\n coord /= filterArea.xy;\\n\\n return coord;\\n}\\n\\nvec2 twist(vec2 coord)\\n{\\n coord -= offset;\\n\\n float dist = length(coord);\\n\\n if (dist < radius)\\n {\\n float ratioDist = (radius - dist) / radius;\\n float angleMod = ratioDist * ratioDist * angle;\\n float s = sin(angleMod);\\n float c = cos(angleMod);\\n coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);\\n }\\n\\n coord += offset;\\n\\n return coord;\\n}\\n\\nvoid main(void)\\n{\\n\\n vec2 coord = mapCoord(vTextureCoord);\\n\\n coord = twist(coord);\\n\\n coord = unmapCoord(coord);\\n\\n gl_FragColor = texture2D(uSampler, coord );\\n\\n}\\n\",t=function(o){function t(t,e,i){void 0===t&&(t=200),void 0===e&&(e=4),void 0===i&&(i=20),o.call(this,n,r),this.radius=t,this.angle=e,this.padding=i}o&&(t.__proto__=o),t.prototype=Object.create(o&&o.prototype),t.prototype.constructor=t;var e={offset:{configurable:!0},radius:{configurable:!0},angle:{configurable:!0}};return e.offset.get=function(){return this.uniforms.offset},e.offset.set=function(o){this.uniforms.offset=o},e.radius.get=function(){return this.uniforms.radius},e.radius.set=function(o){this.uniforms.radius=o},e.angle.get=function(){return this.uniforms.angle},e.angle.set=function(o){this.uniforms.angle=o},Object.defineProperties(t.prototype,e),t}(o);export{t as TwistFilter};\n//# sourceMappingURL=filter-twist.esm.js.map\n","/*!\n * @pixi/filter-zoom-blur - v2.7.0\n * Compiled Sun, 13 Jan 2019 22:51:52 UTC\n *\n * @pixi/filter-zoom-blur is licensed under the MIT License.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{Filter as n}from\"pixi.js\";var t=\"attribute vec2 aVertexPosition;\\nattribute vec2 aTextureCoord;\\n\\nuniform mat3 projectionMatrix;\\n\\nvarying vec2 vTextureCoord;\\n\\nvoid main(void)\\n{\\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\\n vTextureCoord = aTextureCoord;\\n}\",e=\"varying vec2 vTextureCoord;\\nuniform sampler2D uSampler;\\nuniform vec4 filterArea;\\n\\nuniform vec2 uCenter;\\nuniform float uStrength;\\nuniform float uInnerRadius;\\nuniform float uRadius;\\n\\nconst float MAX_KERNEL_SIZE = 32.0;\\n\\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\\nhighp float rand(vec2 co, float seed) {\\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159);\\n return fract(sin(sn) * c + seed);\\n}\\n\\nvoid main() {\\n\\n float minGradient = uInnerRadius * 0.3;\\n float innerRadius = (uInnerRadius + minGradient * 0.5) / filterArea.x;\\n\\n float gradient = uRadius * 0.3;\\n float radius = (uRadius - gradient * 0.5) / filterArea.x;\\n\\n float countLimit = MAX_KERNEL_SIZE;\\n\\n vec2 dir = vec2(uCenter.xy / filterArea.xy - vTextureCoord);\\n float dist = length(vec2(dir.x, dir.y * filterArea.y / filterArea.x));\\n\\n float strength = uStrength;\\n\\n float delta = 0.0;\\n float gap;\\n if (dist < innerRadius) {\\n delta = innerRadius - dist;\\n gap = minGradient;\\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\\n delta = dist - radius;\\n gap = gradient;\\n }\\n\\n if (delta > 0.0) {\\n float normalCount = gap / filterArea.x;\\n delta = (normalCount - delta) / normalCount;\\n countLimit *= delta;\\n strength *= delta;\\n if (countLimit < 1.0)\\n {\\n gl_FragColor = texture2D(uSampler, vTextureCoord);\\n return;\\n }\\n }\\n\\n // randomize the lookup values to hide the fixed number of samples\\n float offset = rand(vTextureCoord, 0.0);\\n\\n float total = 0.0;\\n vec4 color = vec4(0.0);\\n\\n dir *= strength;\\n\\n for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {\\n float percent = (t + offset) / MAX_KERNEL_SIZE;\\n float weight = 4.0 * (percent - percent * percent);\\n vec2 p = vTextureCoord + dir * percent;\\n vec4 sample = texture2D(uSampler, p);\\n\\n // switch to pre-multiplied alpha to correctly blur transparent images\\n // sample.rgb *= sample.a;\\n\\n color += sample * weight;\\n total += weight;\\n\\n if (t > countLimit){\\n break;\\n }\\n }\\n\\n color /= total;\\n // switch back from pre-multiplied alpha\\n // color.rgb /= color.a + 0.00001;\\n\\n gl_FragColor = color;\\n}\\n\",r=function(n){function r(r,i,o,a){void 0===r&&(r=.1),void 0===i&&(i=[0,0]),void 0===o&&(o=0),void 0===a&&(a=-1),n.call(this,t,e),this.center=i,this.strength=r,this.innerRadius=o,this.radius=a}n&&(r.__proto__=n),r.prototype=Object.create(n&&n.prototype),r.prototype.constructor=r;var i={center:{configurable:!0},strength:{configurable:!0},innerRadius:{configurable:!0},radius:{configurable:!0}};return i.center.get=function(){return this.uniforms.uCenter},i.center.set=function(n){this.uniforms.uCenter=n},i.strength.get=function(){return this.uniforms.uStrength},i.strength.set=function(n){this.uniforms.uStrength=n},i.innerRadius.get=function(){return this.uniforms.uInnerRadius},i.innerRadius.set=function(n){this.uniforms.uInnerRadius=n},i.radius.get=function(){return this.uniforms.uRadius},i.radius.set=function(n){(n<0||n===1/0)&&(n=-1),this.uniforms.uRadius=n},Object.defineProperties(r.prototype,i),r}(n);export{r as ZoomBlurFilter};\n//# sourceMappingURL=filter-zoom-blur.esm.js.map\n"],"names":["t","n","o","r","call","this","Object","assign","gamma","saturation","contrast","brightness","red","green","blue","alpha","__proto__","prototype","create","constructor","apply","uniforms","Math","max","applyFilter","i","l","u","uOffset","Float32Array","_pixelSize","e","pixelSize","_clamp","_kernels","Array","isArray","kernels","_blur","quality","configurable","clamp","blur","x","size","width","y","height","_quality","s","getRenderTarget","a","f","p","returnRenderTarget","_generateKernels","push","get","set","length","round","defineProperties","threshold","bloomScale","resolution","RESOLUTION","c","h","_extractFilter","_blurFilter","bloomTexture","_resolution","lightColor","shadowColor","rotation","thickness","lightAlpha","shadowAlpha","_updateTransform","transformX","_thickness","cos","_angle","transformY","sin","rgb2hex","hex2rgb","BlurXFilter","BlurYFilter","b","AlphaFilter","blurXFilter","blurYFilter","blendMode","SCREEN","defaultFilter","blurX","blurY","dimensions","center","radius","strength","sourceFrame","_size","_sliceSize","_slicePixelSize","_sliceInnerSize","_scaleMode","_nearest","nearest","mix","colorMap","colorSize","_mix","_colorMap","from","baseTexture","scaleMode","mipmap","NEAREST","LINEAR","_glTextures","_updateID","emit","updateColorMap","destroy","originalColor","newColor","epsilon","_originalColor","_newColor","texelSize","matrix","forEach","time","seed","curvature","lineWidth","lineContrast","verticalLine","noise","noiseSize","vignetting","vignettingAlpha","vignettingBlur","scale","angle","console","warn","arguments","distance","color","shadowOnly","_tintFilter","targetTransform","d","g","_","_updatePadding","transform","padding","_updateTargetTransform","tx","ty","_distance","slices","offset","direction","fillMode","average","minSize","sampleSize","_canvas","document","createElement","texture","fromCanvas","_slices","sizes","offsets","aspect","_randomizeSizes","_sizes","min","random","sqrt","shuffle","_randomizeOffsets","_offsets","refresh","redraw","getContext","clearRect","floor","fillStyle","fillRect","update","displacementMap","slicesWidth","slicesOffset","_direction","sinDir","cosDir","TRANSPARENT","ORIGINAL","LOOP","CLAMP","MIRROR","replace","toFixed","glowColor","outerStrength","innerStrength","gain","lacunarity","parallel","_angleLight","light","uVelocity","_velocity","velocityChanged","velocity","kernelSize","uKernelSize","copy","_maxColors","_replacements","originalColors","targetColors","replacements","maxColors","sepia","scratch","scratchDensity","scratchWidth","MAX_SAMPLES","MIN_SAMPLES","PI","outlineColor","uRadian","uCenter","uRadius","amplitude","waveLength","mirror","boundary","wavelength","speed","ambientColor","uLightmap","_color","gradientBlur","start","window","innerHeight","end","delta","texSize","innerWidth","updateDelta","tiltShiftXFilter","tiltShiftYFilter","innerRadius","uStrength","uInnerRadius"],"mappings":"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"}
File without changes
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pixi_filters
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Chris Scalf
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-02-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.17'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.17'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description:
56
+ email:
57
+ - shrewdpixeldesign@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".DS_Store"
63
+ - ".gitignore"
64
+ - ".rspec"
65
+ - ".travis.yml"
66
+ - Gemfile
67
+ - LICENSE.txt
68
+ - README.md
69
+ - Rakefile
70
+ - bin/console
71
+ - bin/setup
72
+ - lib/pixi_filters.rb
73
+ - lib/pixi_filters/version.rb
74
+ - pixi_filters.gemspec
75
+ - vendor/.DS_Store
76
+ - vendor/assets/.DS_Store
77
+ - vendor/assets/javascripts/.DS_Store
78
+ - vendor/assets/javascripts/.keep
79
+ - vendor/assets/javascripts/pixi-filters.js
80
+ - vendor/assets/javascripts/pixi-filters.js.map
81
+ - vendor/assets/stylesheets/.keep
82
+ homepage: https://github.com/Palmweaver/pixi_filters
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubygems_version: 3.0.1
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: A gem for importing the pixi_spine.js canvas library into Rails projects.
105
+ test_files: []