diff --git a/js/src/widget_ngl.js b/js/src/widget_ngl.js index a18791d3..f74651bc 100644 --- a/js/src/widget_ngl.js +++ b/js/src/widget_ngl.js @@ -504,7 +504,7 @@ var NGLView = widgets.DOMWidgetView.extend({ }, addShape: function(name, shapes) { - // shapes: list of tuple + // shapes: List[Tuple[str, ...]] // e.g: [('sphere', ...), ('cone', ...)] var shape = new NGL.Shape(name); var shape_dict = { @@ -513,7 +513,8 @@ var NGLView = widgets.DOMWidgetView.extend({ 'cylinder': shape.addCylinder, 'cone': shape.addCone, 'mesh': shape.addMesh, - 'arrow': shape.addArrow + 'arrow': shape.addArrow, + 'label': shape.addLabel }; for (var i = 0; i < shapes.length; i++) { var shapes_i = shapes[i] @@ -522,7 +523,9 @@ var NGLView = widgets.DOMWidgetView.extend({ // e.g params = ('sphere', [ 0, 0, 9 ], [ 1, 0, 0 ], 1.5) var func = shape_dict[shape_type]; - func.apply(this, params); + console.log('func', func); + func.apply(shape, params); + // shape.func(params); } var shapeComp = this.stage.addComponentFromObject(shape); shapeComp.addRepresentation("buffer"); diff --git a/nglview/shape.py b/nglview/shape.py index 5d8dae7b..7ece7d26 100644 --- a/nglview/shape.py +++ b/nglview/shape.py @@ -24,7 +24,8 @@ class Shape(object): def __init__(self, view): self.view = view - names = ['mesh', 'sphere', 'ellipsoid', 'cylinder', 'cone', 'arrow'] + names = ['mesh', 'sphere', 'ellipsoid', 'cylinder', 'cone', 'arrow', + 'label'] self._make_func(names) def _make_func(self, names): diff --git a/nglview/static/__init__.py b/nglview/static/__init__.py deleted file mode 100644 index 35350f6a..00000000 --- a/nglview/static/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -''' -''' diff --git a/nglview/static/index.js b/nglview/static/index.js index e971709d..d760b0a2 100644 --- a/nglview/static/index.js +++ b/nglview/static/index.js @@ -575,7 +575,7 @@ define(["jupyter-js-widgets"], function(__WEBPACK_EXTERNAL_MODULE_2__) { return }, addShape: function(name, shapes) { - // shapes: list of tuple + // shapes: List[Tuple[str, ...]] // e.g: [('sphere', ...), ('cone', ...)] var shape = new NGL.Shape(name); var shape_dict = { @@ -584,7 +584,8 @@ define(["jupyter-js-widgets"], function(__WEBPACK_EXTERNAL_MODULE_2__) { return 'cylinder': shape.addCylinder, 'cone': shape.addCone, 'mesh': shape.addMesh, - 'arrow': shape.addArrow + 'arrow': shape.addArrow, + 'label': shape.addLabel }; for (var i = 0; i < shapes.length; i++) { var shapes_i = shapes[i] @@ -593,7 +594,9 @@ define(["jupyter-js-widgets"], function(__WEBPACK_EXTERNAL_MODULE_2__) { return // e.g params = ('sphere', [ 0, 0, 9 ], [ 1, 0, 0 ], 1.5) var func = shape_dict[shape_type]; - func.apply(this, params); + console.log('func', func); + func.apply(shape, params); + // shape.func(params); } var shapeComp = this.stage.addComponentFromObject(shape); shapeComp.addRepresentation("buffer"); diff --git a/nglview/static/index.js.map b/nglview/static/index.js.map index 0ff9adfc..e56f84e8 100644 --- a/nglview/static/index.js.map +++ b/nglview/static/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap cc91d52ca754aa68dfd2","webpack:///./src/index.js","webpack:///./src/widget_ngl.js","webpack:///external \"jupyter-js-widgets\"","webpack:///./~/ngl/dist/ngl.js","webpack:///./~/timers-browserify/main.js","webpack:///./~/setimmediate/setImmediate.js","webpack:///./~/process/browser.js","webpack:///./~/jquery/dist/jquery.js","webpack:///./~/jquery-ui/ui/widgets/draggable.js","webpack:///./~/jquery-ui/ui/widgets/mouse.js","webpack:///./~/jquery-ui/ui/ie.js","webpack:///./~/jquery-ui/ui/version.js","webpack:///./~/jquery-ui/ui/widget.js","webpack:///./~/jquery-ui/ui/data.js","webpack:///./~/jquery-ui/ui/plugin.js","webpack:///./~/jquery-ui/ui/safe-blur.js","webpack:///./~/jquery-ui/ui/scroll-parent.js","webpack:///./~/jquery-ui/ui/safe-active-element.js","webpack:///./~/jquery-ui/ui/widgets/slider.js","webpack:///./~/jquery-ui/ui/keycode.js","webpack:///./~/jquery-ui/ui/widgets/dialog.js","webpack:///./~/jquery-ui/ui/widgets/button.js","webpack:///./~/jquery-ui/ui/widgets/controlgroup.js","webpack:///./~/jquery-ui/ui/widgets/checkboxradio.js","webpack:///./~/jquery-ui/ui/escape-selector.js","webpack:///./~/jquery-ui/ui/form-reset-mixin.js","webpack:///./~/jquery-ui/ui/form.js","webpack:///./~/jquery-ui/ui/labels.js","webpack:///./~/jquery-ui/ui/widgets/resizable.js","webpack:///./~/jquery-ui/ui/disable-selection.js","webpack:///./~/jquery-ui/ui/focusable.js","webpack:///./~/jquery-ui/ui/tabbable.js","webpack:///./~/jquery-ui/ui/unique-id.js","webpack:///./~/jquery-ui/ui/position.js","webpack:///./package.json"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,UAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,cAAa;AACb,UAAS;;AAET;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,UAAS;AACT,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,MAAK;;AAEL;AACA;AACA;;AAEA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA,4BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,MAAK;;AAEL;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA,SAAQ;AACR;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA,MAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,2BAA0B;AAC1B,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;;AAEb;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA,wBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,mBAAmB;AACtC,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,iDAAgD,mBAAmB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA,WAAU;AACV,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAmB,SAAS;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,uBAAsB,IAAI,mBAAmB;AAC7C,cAAa;AACb,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,uBAAsB,IAAI,mBAAmB;AAC7C,cAAa;AACb;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,UAAS;AACT,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,iEAAgE;AAChE;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT,MAAK;;AAEL;;AAEA;;AAEA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,oBAAmB,sCAAsC;AACzD,MAAK;;AAEL;AACA,yBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB,eAAc;AACd;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA,qBAAoB,mBAAmB;AACvC,eAAc;AACd,WAAU;AACV;AACA;AACA,qBAAoB,mBAAmB;AACvC,eAAc;AACd;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA,sBAAqB;AACrB;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA,4BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,cAAa;AACb;AACA,cAAa;AACb,4BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA,MAAK;AACL,EAAC;;AAED;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT,MAAK;;AAEL;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb,MAAK;AACL,EAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;ACx9BA,gD;;;;;;ACAA,oEAAe,8FAA6I,EAAE,kBAAkB,aAAa,cAAc,gBAAgB,kBAAkB,sBAAsB,cAAc,qFAAqF,8DAA8D,+EAA+E,gBAAgB,KAAK,aAAa,YAAY,iDAAiD,4BAA4B,8CAA8C,8DAA8D,MAAM,IAAI,cAAc,SAAS,2BAA2B,eAAe,EAAE,gBAAgB,IAAI,0EAA0E,kDAAkD,aAAa,yDAA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ACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA0C,sBAAsB,EAAE;AAClE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAU;AACV;AACA;;AAEA,MAAK;AACL;AACA;;AAEA,MAAK;AACL;AACA;;AAEA,MAAK;AACL;AACA;;AAEA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,EAAC;;;;;;;;ACzLD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,YAAY;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF,qBAAoB;;AAEpB;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF,iCAAgC;AAChC;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA,WAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA,UAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS,YAAY;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA,iBAAgB,IAAI;;AAEpB;AACA;;AAEA;AACA;;AAEA;AACA,yCAAwC,IAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,UAAS;;AAET;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,OAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;;AAEA;AACA;AACA,YAAW,gBAAgB;AAC3B,cAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,eAAe;AAC1B,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,eAAe;AAC1B,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,iCAAgC,MAAM;AACtC;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,gBAAe;;AAEf,UAAS;;AAET;AACA,SAAQ,iCAAiC;AACzC,SAAQ,oBAAoB;AAC5B,SAAQ,sCAAsC;AAC9C,SAAQ;AACR,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA,iBAAgB,aAAa,EAAE;AAC/B;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,6DAA4D;;AAE5D;AACA;AACA;AACA,0CAAyC;;AAEzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;AACA;AACA;AACA,8DAA6D;;AAE7D;AACA;AACA;AACA,2CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iEAAgE;;AAEhE;AACA;AACA;AACA,8CAA6C;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,kEAAiE,UAAU;AAC3E,uCAAsC,2BAA2B;AACjE;AACA,iCAAgC,MAAM;AACtC;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,WAAU,YAAY;AACtB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,WAAU,YAAY;AACtB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,WAAU,UAAU;AACpB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,WAAU,cAAc;AACxB;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA,aAAY,uEAAuE;AACnF;AACA;AACA,aAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,4DAA2D;;AAE3D;AACA;AACA,qFAAoF;;AAEpF;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA,oCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,SAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,SAAQ,SAAS;AACjB;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,iDAAiD;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAiD;AACjD,WAAU,wCAAwC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B;AACA,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;;AAEA,EAAC;;;;AAID;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,SAAQ,GAAG;AACX;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA,eAAc,SAAS;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;AAGD;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAQ;AACR;AACA;AACA;AACA;;AAEA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAU,OAAO;AACjB;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAS,OAAO;AAChB,0BAAyB,wBAAwB;;AAEjD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA,2CAA0C;AAC1C,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;;;;AAIA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAU,cAAc;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;;AAER;AACA;AACA;AACA,QAAO;AACP,OAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,QAAO;AACP;AACA,OAAM;AACN,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,+CAA8C;AAC9C,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA,KAAI;;AAEJ;;AAEA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA,WAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;;AAGD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;AACF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAuB,aAAa;AACpC,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAoB,SAAS;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ,GAAE;AACF;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,gBAAe,oBAAoB,EAAE;AACrC,gBAAe,qCAAqC,EAAE;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,SAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,uBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE,gBAAgB;AAClB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA,YAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qDAAoD;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gEAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAU,cAAc;;AAExB;AACA;AACA;AACA;AACA,kBAAiB,mBAAmB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,+BAA+B;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAuB,wDAAwD;AAC/E;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA,cAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAsC,cAAc;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAQ,+BAA+B;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAwC,OAAO;AAC/C;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA,UAAS,qCAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;;AAEA,UAAS,8BAA8B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA,8BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,aAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC,UAAU,SAAS,MAAM,aAAa;AAC3E,cAAa,eAAe;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAkC,2BAA2B,sBAAsB;AACnF,uBAAsB,cAAc;AACpC,iBAAgB,WAAW,YAAY;AACvC,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,SAAS,QAAQ,QAAQ;AACrD;;AAEA;AACA;AACA,qCAAoC,uBAAuB;AAC3D,oBAAmB,SAAS,SAAS;AACrC;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;AACF,EAAC;;;AAGD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAkB;AAClB;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA,aAAY,+DAA+D;AAC3E;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,SAAQ,OAAO;;AAEf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,gBAAgB;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,mBAAkB,gBAAgB;AAClC;AACA,OAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,4BAA4B;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,kBAAiB;;AAEjB;AACA;;AAEA,WAAU,OAAO;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,aAAY;AACZ;;AAEA;AACA;AACA;;AAEA,YAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,IAAG;AACH;AACA,EAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA,SAAQ,QAAQ;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,kDAAiD;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAU,iBAAiB;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,4BAA2B;AAC3B;AACA,sBAAqB;AACrB;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iBAAiB;AAC5B;AACA;;AAEA,8CAA6C;AAC7C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA,SAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,UAAS,iBAAiB;AAC1B;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED;AACA,kEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAoB,cAAc;AAClC,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,kDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAA+B,SAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gCAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAU,kBAAkB;AAC5B,YAAW,kBAAkB;AAC7B,eAAc;AACd,EAAC;AACD;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;;AAEA,kCAAiC;AACjC;AACA;;AAEA,KAAI;AACJ;;AAEA,KAAI;AACJ;AACA;AACA,MAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,SAAS;AACpB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,uCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA,WAAU,KAAK;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,qCAAqC;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAK;AACL;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,iBAAgB;;AAEhB,iDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAwD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,KAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAS;AACT;;AAEA;;AAEA;AACA;;AAEA;AACA,kBAAiB;AACjB,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,4BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAkC;;AAElC;AACA,uBAAsB;AACtB,4BAA2B;;AAE3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAc,oCAAoC;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAI;AACJ;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;;AAEA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,GAAE;;AAEF;AACA;AACA;AACA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAc;AACd,OAAM;AACN,OAAM;AACN,IAAG;AACH;AACA,EAAC;;;AAGD;AACA;AACA;AACA,GAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ;;AAER;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA,oDAAmD;AACnD;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,uBAAuB;AAClC,YAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,EAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,KAAI;AACJ,IAAG;AACH;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;AAKD;AACA;AACA;AACA,GAAE;AACF;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,sDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,WAAU,kBAAkB;AAC5B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAmB;;AAEnB,6DAA4D,eAAe;AAC3E;AACA;;AAEA;AACA;;AAEA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA,eAAc,sDAAsD;AACpE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAI;AACJ;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;AAGD;AACA,eAAc,mCAAmC;AACjD,gBAAe,6DAA6D;AAC5E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAI;AACJ;AACA,GAAE;AACF,EAAC;;;AAGD;;AAEA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA,EAAC;;AAED;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;;;;AAIA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;;;;;;ACrlTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+BAA8B;AAC9B;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA,4CAA2C,4BAA4B;AACvE,IAAG;AACH;AACA;;AAEA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA,GAAE;;AAEF;AACA;AACA,YAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF,aAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;AACA;AACA,gCAA+B;AAC/B;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA,gCAA+B;AAC/B;AACA,IAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA,KAAI;;AAEJ,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA,0CAAyC,QAAQ;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,wCAAwC;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ,yBAAwB,QAAQ;;AAEhC;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,EAAC;;;;;;;ACjuCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA,yCAAwC;AACxC,wCAAuC;AACvC,wCAAuC;AACvC,0CAAyC,aAAa;AACtD,EAAC;;AAED,EAAC;;;;;;;ACjOD;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;;;;;;ACdD;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,EAAC;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,eAAc,+BAA+B;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yCAAwC;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAsB;;AAEtB;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,0BAA0B;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAAyB;;AAEzB;AACA,0BAAyB;;AAEzB;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAmC;AACnC;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAa;AACb;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAoC;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA6B;AAC7B;;AAEA;;AAEA,+CAA8C,OAAO,WAAW;AAChE;AACA;AACA;AACA;AACA,qDAAoD;AACpD,iBAAgB,sBAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA,6BAA4B,kBAAkB;AAC9C,GAAE;;AAEF;AACA,6BAA4B,iBAAiB;AAC7C,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA,gBAAe,oBAAoB;AACnC;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAS,kCAAkC;AAC3C;AACA;AACA,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,EAAC;;AAED;;AAEA,EAAC;;;;;;;AC5tBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,EAAC;AACD,EAAC;;;;;;;ACtCD;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;AC3CD;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;ACpBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;AC5CD;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,EAAC;;;;;;;ACvCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAmC,iBAAiB;AACpD;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,0CAAyC,kBAAkB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA,mBAAkB,iCAAiC;AACnD;;AAEA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,gBAAe,iBAAiB;AAChC;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,qBAAoB,0BAA0B;AAC9C;AACA;AACA,qBAAoB,6BAA6B;AACjD;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA,OAAM;AACN;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED,EAAC;;;;;;;AC/uBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;AC5CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA,MAAK;AACL;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA,IAAG;AACH,uBAAsB;AACtB;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK,2BAA2B;AAChC;;AAEA;AACA,uBAAsB,iBAAiB;;AAEvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;AAEA;;AAEA,EAAC;;;;;;;AC36BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uBAAsB,uBAAuB;AAC7C;;AAEA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,EAAC;;;;;;;ACjYD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;AACD,kDAAiD,IAAI;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ,gBAAe,YAAY;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA8C;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA,EAAC;AACD,EAAC;;;;;;;ACzSD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAsB,yBAAyB;AAC/C;AACA;;AAEA,EAAC;;AAED;;AAEA,EAAC;;;;;;;AC7RD;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,0CAAyC,WAAW,EAAE;AACtD;AACA;AACA;AACA,EAAC;;AAED,EAAC;;;;;;;ACpBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;AC5ED;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,EAAC;;;;;;;AC7DD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA,yDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,GAAE;;AAEF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAe,cAAc;;AAE7B;AACA;AACA;AACA;;AAEA,gBAAe,mBAAmB;;AAElC;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,MAAK;AACL;AACA,oCAAmC,+BAA+B;AAClE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAmB;;AAEnB;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4BAA2B;AAC3B,iCAAgC;;AAEhC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAoC,uBAAuB;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAS,OAAO;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,UAAS,+CAA+C;;AAExD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;;AAEJ;;AAEA,GAAE;;AAEF;;AAEA;AACA;;AAEA;;AAEA,iEAAgE;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;;AAEA,IAAG;AACH;AACA;;AAEA,GAAE;;AAEF;AACA;AACA,YAAW;AACX,IAAG;AACH;AACA;AACA,YAAW;AACX,IAAG;AACH;AACA;AACA,YAAW;AACX,IAAG;AACH;AACA,YAAW;AACX,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,GAAE;;AAEF,aAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA,oCAAmC,uBAAuB,KAAK;AAC/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAyB,yCAAyC;AAClE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,KAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ,IAAG;AACH,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wFAAuF;AACvF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,KAAI;AACJ,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA,EAAC;;;;;;;AChrCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED,EAAC;;;;;;;AC7CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA,GAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,EAAC;;;;;;;ACnFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED,EAAC;;;;;;;AClCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA,GAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED,EAAC;;;;;;;AChDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,kBAAkB,WAAW,YAAY,gBAAgB;AACnF,+BAA8B,WAAW;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,kBAAkB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,qCAAoC,eAAe;AACnD,GAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA,MAAK;AACL;AACA;AACA,OAAM;AACN;AACA;AACA;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA,KAAI;AACJ;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA,MAAK;AACL;AACA;AACA,OAAM;AACN;AACA;AACA;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA,KAAI;AACJ;;AAEA;AACA,KAAI;AACJ;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA,EAAC;;;;;;;ACjfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap cc91d52ca754aa68dfd2","module.exports = {};\n\nvar loadedModules = [\n require(\"./widget_ngl.js\"),\n //require(\"./ngl.js\"),\n]\n\nfor (var i in loadedModules) {\n if (loadedModules.hasOwnProperty(i)) {\n var loadedModule = loadedModules[i];\n for (var target_name in loadedModule) {\n if (loadedModule.hasOwnProperty(target_name)) {\n module.exports[target_name] = loadedModule[target_name];\n }\n }\n }\n}\n\nmodule.exports['version'] = require('../package.json').version;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 0\n// module chunks = 0","var widgets = require(\"jupyter-js-widgets\");\nvar NGL = require('ngl');\nvar $ = require('jquery');\nrequire('jquery-ui/ui/widgets/draggable');\nrequire('jquery-ui/ui/widgets/slider');\nrequire('jquery-ui/ui/widgets/dialog');\n\nvar Jupyter;\nif (typeof window !== 'undefined') {\n Jupyter = window['Jupyter'] = window['Jupyter'] || {};\n} else {\n Jupyter = Jupyter || {};\n}\n\nvar NGLView = widgets.DOMWidgetView.extend({\n\n render: function() {\n\n // init representations handling\n this.model.on(\"change:_init_representations\", this.representationsChanged, this);\n\n // init setting of frame\n this.model.on(\"change:frame\", this.frameChanged, this);\n\n // init setting of frame\n this.model.on(\"change:count\", this.countChanged, this);\n\n // init _parameters handling\n this.model.on(\"change:_parameters\", this.parametersChanged, this);\n\n // init orientation handling\n this.model.on(\"change:orientation\", this.orientationChanged, this);\n\n // for player\n this.delay = 100;\n this.sync_frame = false;\n this.sync_camera = false;\n\n // get message from Python\n this.model.on(\"msg:custom\", function(msg) {\n this.on_msg(msg);\n }, this);\n\n if (this.model.comm) {\n // for embeding in website\n this.model.comm.on_msg(function(msg) {\n var buffers = msg.buffers;\n var content = msg.content.data.content;\n if (buffers.length && content) {\n content.buffers = buffers;\n }\n this.model._handle_comm_msg.call(this.model, msg);\n }.bind(this));\n }\n\n // init NGL stage\n NGL.useWorker = false;\n this.stage = new NGL.Stage(undefined, {\n backgroundColor: \"white\"\n });\n this.structureComponent = undefined;\n this.$container = $(this.stage.viewer.container);\n this.$el.append(this.$container);\n this.$container.resizable({\n resize: function(event, ui) {\n this.setSize(ui.size.width + \"px\", ui.size.height + \"px\");\n }.bind(this)\n });\n this.displayed.then(function() {\n var width = this.$el.parent().width() + \"px\";\n var height = \"300px\";\n\n this.setSize(width, height);\n this.$container.resizable(\n \"option\", \"maxWidth\", this.$el.parent().width()\n );\n this.requestUpdateStageParameters();\n }.bind(this));\n\n this.stage.viewerControls.signals.changed.add(function() {\n if (this.sync_camera) {\n this.model.set('_scene_position', this.stage.viewerControls.position)\n this.model.set('_scene_rotation', this.stage.viewerControls.rotation)\n this.touch();\n }\n }.bind(this));\n\n // init toggle fullscreen\n $(this.stage.viewer.container).dblclick(function() {\n this.stage.toggleFullscreen();\n }.bind(this));\n\n // init picking handling\n this.$pickingInfo = $(\"
\")\n .css(\"position\", \"absolute\")\n .css(\"top\", \"5%\")\n .css(\"left\", \"3%\")\n .css(\"background-color\", \"white\")\n .css(\"padding\", \"2px 5px 2px 5px\")\n .css(\"opacity\", \"0.7\")\n .appendTo(this.$container);\n\n var $inputNotebookCommand = $('');\n var that = this;\n\n $inputNotebookCommand.keypress(function(e) {\n var command = $(\"#input_notebook_command\").val();\n if (e.which == 13) {\n $(\"#input_notebook_command\").val(\"\")\n Jupyter.notebook.kernel.execute(command);\n }\n });\n\n this.$notebook_text = $(\"
\")\n .css(\"position\", \"absolute\")\n .css(\"bottom\", \"5%\")\n .css(\"left\", \"3%\")\n .css(\"padding\", \"2px 5px 2px 5px\")\n .css(\"opacity\", \"0.7\")\n .append($inputNotebookCommand)\n .appendTo(this.$container);\n this.$notebook_text.hide();\n\n this.stage.signals.clicked.add(function(pd) {\n if (pd) {\n var pd2 = {};\n if (pd.atom) pd2.atom = pd.atom.toObject();\n if (pd.bond) pd2.bond = pd.bond.toObject();\n if (pd.instance) pd2.instance = pd.instance;\n this.model.set(\"picked\", pd2);\n this.touch();\n var pickingText = \"\";\n if (pd.atom) {\n pickingText = \"Atom: \" + pd.atom.qualifiedName();\n } else if (pd.bond) {\n pickingText = \"Bond: \" + pd.bond.atom1.qualifiedName() + \" - \" + pd.bond.atom2.qualifiedName();\n }\n this.$pickingInfo.text(pickingText);\n }\n }, this);\n\n this.initPlayer();\n\n var container = this.stage.viewer.container;\n that = this;\n container.addEventListener('dragover', function(e) {\n e.stopPropagation();\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy';\n }, false);\n\n container.addEventListener('drop', function(e) {\n e.stopPropagation();\n e.preventDefault();\n var file = e.dataTransfer.files[0];\n\n that.stage.loadFile(file).then(function(o){\n that.makeDefaultRepr(o);\n that._handle_loading_file_finished();\n });\n var numDroppedFiles = that.model.get(\"_n_dragged_files\");\n that.model.set(\"_n_dragged_files\", numDroppedFiles + 1);\n that.touch();\n }, false);\n\n that = this;\n this.stage.signals.componentAdded.add(function() {\n var len = this.stage.compList.length;\n this.model.set(\"n_components\", len);\n this.touch();\n var comp = this.stage.compList[len - 1];\n comp.signals.representationRemoved.add(function() {\n that.requestReprDict();\n });\n comp.signals.representationAdded.add(function() {\n that.requestReprDict();\n });\n }, this);\n\n this.stage.signals.componentRemoved.add(function() {\n this.model.set(\"n_components\", this.stage.compList.length);\n this.touch();\n }, this);\n\n // for callbacks from Python\n // must be after initializing NGL.Stage\n this.send({\n 'type': 'request_loaded',\n 'data': true\n })\n var state_params = this.stage.getParameters();\n this.model.set('_original_stage_parameters', state_params);\n this.touch();\n },\n\n setSelector: function(selector_id) {\n // id is uuid that will be set from Python\n var selector = \"
\";\n this.$ngl_selector = $(selector)\n .css(\"position\", \"absolute\")\n .css(\"bottom\", \"5%\")\n .css(\"left\", \"3%\")\n .css(\"padding\", \"2px 5px 2px 5px\")\n .css(\"opacity\", \"0.7\")\n .appendTo(this.$container);\n },\n\n setIPythonLikeCell: function() {\n var cell = Jupyter.notebook.insert_cell_at_bottom();\n\n var handler = function(event) {\n var selected_cell = Jupyter.notebook.get_selected_cell();\n if (selected_cell.cell_id === cell.cell_id) {\n selected_cell.execute();\n selected_cell.set_text('');\n }\n event; // to pass eslint\n return false;\n };\n\n var action = {\n help: 'run cell',\n help_index: 'zz',\n handler: handler\n };\n\n Jupyter.keyboard_manager.edit_shortcuts.add_shortcut('enter', action);\n },\n\n hideNotebookCommandBox: function() {\n this.$notebook_text.hide();\n },\n\n showNotebookCommandBox: function() {\n this.$notebook_text.show();\n },\n\n requestFrame: function() {\n this.send({\n 'type': 'request_frame',\n 'data': 'frame'\n });\n },\n\n requestUpdateStageParameters: function() {\n var updated_params = this.stage.getParameters();\n this.model.set('_full_stage_parameters', updated_params);\n this.touch();\n },\n\n requestReprParameters: function(component_index, repr_index) {\n var comp = this.stage.compList[component_index];\n var repr = comp.reprList[repr_index];\n var msg = repr.repr.getParameters();\n\n if (msg) {\n msg['name'] = repr.name;\n this.send({\n 'type': 'repr_parameters',\n 'data': msg\n });\n }\n },\n\n requestReprDict: function() {\n var n_components = this.stage.compList.length;\n var msg = {};\n\n for (var i = 0; i < n_components; i++) {\n var comp = this.stage.compList[i];\n msg['c' + i] = {};\n var msgi = msg['c' + i];\n for (var j = 0; j < comp.reprList.length; j++) {\n var repr = comp.reprList[j];\n msgi[j] = {};\n msgi[j]['type'] = repr.name;\n msgi[j]['params'] = repr.repr.getParameters();\n }\n }\n this.send({\n 'type': 'repr_dict',\n 'data': msg\n });\n },\n\n // setDraggable: function(params) {\n // if (params) {\n // this.$container.draggable(params);\n // } else {\n // this.$container.draggable();\n // }\n // },\n setDelay: function(delay) {\n this.delay = delay;\n },\n\n setSyncFrame: function() {\n this.sync_frame = true;\n },\n\n setUnSyncFrame: function() {\n this.sync_frame = false;\n },\n\n setSyncCamera: function() {\n this.sync_camera = true;\n },\n\n setUnSyncCamera: function() {\n this.sync_camera = false;\n },\n\n viewXZPlane: function() {\n var m = new NGL.Matrix4().makeRotationX( Math.PI / 2 );\n var q = new NGL.Quaternion().setFromRotationMatrix( m );\n this.stage.viewerControls.rotate( q );\n },\n\n makeDefaultRepr: function(o) {\n var reprDefList = this.model.get(\"_init_representations\");\n reprDefList.forEach(function(reprDef) {\n o.addRepresentation(reprDef.type, reprDef.params);\n });\n\n if (this.stage.compList.length < 2) {\n o.autoView(100);\n }\n },\n\n\n initPlayer: function() {\n // init player\n if (this.model.get(\"count\")) {\n var play = function() {\n this.$playerButton.text(\"pause\");\n this.playerInterval = setInterval(function() {\n var frame = this.model.get(\"frame\") + 1;\n var count = this.model.get(\"count\");\n if (frame >= count) frame = 0;\n\n if (this.sync_frame) {\n this.model.set(\"frame\", frame);\n this.touch();\n } else {\n this.requestFrame();\n }\n }.bind(this), this.delay);\n }.bind(this);\n var pause = function() {\n this.$playerButton.text(\"play\");\n if (this.playerInterval !== undefined) {\n clearInterval(this.playerInterval);\n }\n }.bind(this);\n this.$playerButton = $(\"\")\n .css(\"float\", \"left\")\n .css(\"width\", \"55px\")\n .css(\"opacity\", \"0.7\")\n .click(function(event) {\n if (this.$playerButton.text() === \"play\") {\n play();\n } else if (this.$playerButton.text() === \"pause\") {\n pause();\n }\n event; // to pass eslint\n }.bind(this));\n this.$playerSlider = $(\"
\")\n .css(\"margin-left\", \"70px\")\n .css(\"position\", \"relative\")\n .css(\"bottom\", \"-7px\")\n .slider({\n min: 0,\n max: this.model.get(\"count\") - 1,\n slide: function(event, ui) {\n pause();\n this.model.set(\"frame\", ui.value);\n this.touch();\n }.bind(this)\n });\n this.$player = $(\"
\")\n .css(\"position\", \"absolute\")\n .css(\"bottom\", \"5%\")\n .css(\"width\", \"94%\")\n .css(\"margin-left\", \"3%\")\n .css(\"opacity\", \"0.7\")\n .append(this.$playerButton)\n .append(this.$playerSlider)\n .appendTo(this.$container);\n this.model.on(\"change:frame\", function() {\n this.$playerSlider.slider(\"value\", this.model.get(\"frame\"));\n }, this);\n\n if (this.model.get(\"count\") < 2) {\n this.$player.hide()\n }\n }\n },\n\n countChanged: function() {\n var count = this.model.get(\"count\");\n this.$playerSlider.slider({\n max: count - 1\n });\n if (this.model.get(\"count\") > 1) {\n this.$player.show()\n }\n },\n\n representationsChanged: function() {\n var representations = this.model.get(\"_init_representations\");\n var component;\n\n for (var i = 0; i < this.stage.compList.length; i++) {\n component = this.stage.compList[i];\n if (representations && component) {\n component.clearRepresentations();\n representations.forEach(function(repr) {\n component.addRepresentation(repr.type, repr.params);\n });\n }\n }\n },\n\n setVisibilityForRepr: function(component_index, repr_index, value) {\n // value = True/False\n var component = this.stage.compList[component_index];\n var repr = component.reprList[repr_index];\n\n if (repr) {\n repr.setVisibility(value);\n }\n },\n\n removeRepresentation: function(component_index, repr_index) {\n var component = this.stage.compList[component_index];\n var repr = component.reprList[repr_index]\n\n if (repr) {\n component.removeRepresentation(repr);\n repr.dispose();\n }\n },\n\n removeRepresentationsByName: function(repr_name, component_index) {\n var component = this.stage.compList[component_index];\n\n if (component) {\n component.reprList.forEach(function(repr) {\n if (repr.name == repr_name) {\n component.removeRepresentation(repr);\n repr.dispose();\n }\n })\n }\n },\n\n updateRepresentationForComponent: function(repr_index, component_index, params) {\n var component = this.stage.compList[component_index];\n var repr = component.reprList[repr_index];\n if (repr) {\n repr.setParameters(params);\n }\n },\n\n updateRepresentationsByName: function(repr_name, component_index, params) {\n var component = this.stage.compList[component_index];\n\n if (component) {\n component.reprList.forEach(function(repr) {\n if (repr.name == repr_name) {\n repr.setParameters(params);\n }\n })\n }\n },\n\n setRepresentation: function(name, params, component_index, repr_index) {\n var component = this.stage.compList[component_index];\n var repr = component.reprList[repr_index];\n\n if (repr) {\n params['useWorker'] = false;\n var new_repr = NGL.makeRepresentation(name, component.structure,\n this.stage.viewer, params);\n if (new_repr) {\n repr.setRepresentation(new_repr);\n repr.name = name;\n component.reprList[repr_index] = repr;\n this.requestReprDict();\n }\n }\n },\n\n setColorByResidue: function(colors, component_index, repr_index){\n var repr = this.stage.compList[component_index].reprList[repr_index];\n var schemeId = NGL.ColorMakerRegistry.addScheme(function(params){\n this.atomColor = function(atom){\n var color = colors[atom.residueIndex];\n return color\n };\n params; // to pass eslint; ack;\n });\n repr.setColor(schemeId);\n },\n\n addShape: function(name, shapes) {\n // shapes: list of tuple\n // e.g: [('sphere', ...), ('cone', ...)]\n var shape = new NGL.Shape(name);\n var shape_dict = {\n 'sphere': shape.addSphere,\n 'ellipsoid': shape.addEllipsoid,\n 'cylinder': shape.addCylinder,\n 'cone': shape.addCone,\n 'mesh': shape.addMesh,\n 'arrow': shape.addArrow\n };\n for (var i = 0; i < shapes.length; i++) {\n var shapes_i = shapes[i]\n var shape_type = shapes_i[0];\n var params = shapes_i.slice(1, shapes_i.length);\n // e.g params = ('sphere', [ 0, 0, 9 ], [ 1, 0, 0 ], 1.5)\n\n var func = shape_dict[shape_type];\n func.apply(this, params);\n }\n var shapeComp = this.stage.addComponentFromObject(shape);\n shapeComp.addRepresentation(\"buffer\");\n },\n\n replaceStructure: function(structure){\n var blob = new Blob([structure.data], {type: \"text/plain\"});\n var params = structure.params || {};\n params.ext = structure.ext;\n params.defaultRepresentation = false;\n var comp = this.stage.compList[0];\n var representations = comp.reprList.slice();\n var old_orientation = this.stage.viewerControls.getOrientation();\n var that = this;\n this.stage.loadFile(blob, params).then(function(component) {\n that.stage.viewerControls.orient(old_orientation);\n representations.forEach(function(repr) {\n var repr_name = repr.name;\n var repr_params = repr.repr.getParameters();\n // Note: not using repr.repr.type, repr.repr.params\n // since seems to me that repr.repr.params won't return correct \"sele\"\n component.addRepresentation(repr_name, repr_params);\n });\n that.stage.removeComponent(comp);\n that._handle_loading_file_finished();\n });\n },\n\n superpose: function(cindex0, cindex1, align, sele0, sele1) {\n // superpose two components with given params\n var component0 = this.stage.compList[cindex0];\n var component1 = this.stage.compList[cindex1];\n component1.superpose(component0, align, sele0, sele1);\n },\n\n decode_base64: function(base64) {\n // lightly adapted from Niklas\n\n /*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n var chars =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var bufferLength = base64.length * 0.75,\n len = base64.length,\n i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = chars.indexOf(base64[i]);\n encoded2 = chars.indexOf(base64[i + 1]);\n encoded3 = chars.indexOf(base64[i + 2]);\n encoded4 = chars.indexOf(base64[i + 3]);\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n },\n\n updateCoordinates: function(coordinates, model) {\n // coordinates must be ArrayBuffer (use this.decode_base64)\n var component = this.stage.compList[model];\n if (coordinates && component) {\n var coords = new Float32Array(coordinates);\n component.structure.updatePosition(coords);\n component.updateRepresentations({\n \"position\": true\n });\n }\n },\n\n handleResize: function() {\n this.$container.resizable({\n resize: function(event, ui) {\n this.setSize(ui.size.width + \"px\", ui.size.height + \"px\");\n }.bind(this)\n })\n },\n\n setSize: function(width, height) {\n this.stage.viewer.container.style.width = width;\n this.stage.viewer.container.style.height = height;\n this.stage.handleResize();\n },\n\n openNotebookCommandDialog: function() {\n var that = this;\n var dialog = this.$notebook_text.dialog({\n draggable: true,\n resizable: true,\n modal: false,\n show: {\n effect: \"blind\",\n duration: 150\n },\n close: function(event, ui) {\n that.$container.append(that.$notebook_text);\n that.$notebook_text.dialog('destroy');\n event; ui; // to pass eslint; ack;\n },\n });\n dialog.css({\n overflow: 'hidden'\n });\n dialog.prev('.ui-dialog-titlebar')\n .css({\n 'background': 'transparent',\n 'border': 'none'\n });\n Jupyter.keyboard_manager.register_events(dialog);\n },\n\n setDialog: function() {\n var $nb_container = Jupyter.notebook.container;\n var that = this;\n var dialog = this.$container.dialog({\n title: \"NGLView\",\n draggable: true,\n resizable: true,\n modal: false,\n width: window.innerWidth - $nb_container.width() - $nb_container.offset().left - 50,\n height: 'auto',\n position: {\n my: 'right',\n at: 'right',\n of: window\n },\n show: {\n effect: \"blind\",\n duration: 150\n },\n close: function(event, ui) {\n that.$el.append(that.$container);\n that.$container.dialog('destroy');\n that.handleResize();\n event; ui; // to pass eslint; ack;\n },\n resize: function(event, ui) {\n that.stage.handleResize();\n that.setSize(ui.size.width + \"px\", ui.size.height + \"px\");\n }.bind(that),\n });\n dialog.css({\n overflow: 'hidden'\n });\n dialog.prev('.ui-dialog-titlebar')\n .css({\n 'background': 'transparent',\n 'border': 'none'\n });\n },\n\n resizeNotebook: function(width) {\n var $nb_container = Jupyter.notebook.container;\n $nb_container.width(width);\n\n if (this.$container.dialog) {\n this.$container.dialog({\n width: $nb_container.offset().left\n });\n }\n },\n\n parametersChanged: function() {\n var _parameters = this.model.get(\"_parameters\");\n this.setParameters(_parameters);\n },\n\n setParameters: function(parameters) {\n this.stage.setParameters(parameters);\n\n // do not set _full_stage_parameters here\n // or parameters will be never updated (not sure why) \n // use observe in python side\n var updated_params = this.stage.getParameters();\n this.send({\n 'type': 'stage_parameters',\n 'data': updated_params\n })\n },\n\n orientationChanged: function() {\n var orientation_list = this.model.get(\"orientation\");\n var mat4 = this.stage.viewerControls.getOrientation();\n mat4.set(orientation_list);\n this.stage.viewerControls.orient(mat4);\n },\n\n _downloadImage: function(filename, params) {\n this.stage.makeImage(params).then(function(blob) {\n NGL.download(blob, filename);\n })\n },\n\n _exportImage: function(params) {\n this.stage.makeImage(params).then(function(blob) {\n var reader = new FileReader();\n var arr_str;\n reader.onload = function() {\n arr_str = reader.result.replace(\"data:image/png;base64,\", \"\");\n this.model.set(\"_image_data\", arr_str);\n this.touch();\n }.bind(this);\n reader.readAsDataURL(blob);\n }.bind(this));\n },\n\n cleanOutput: function() {\n\n var cells = Jupyter.notebook.get_cells();\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n if (cell.output_area.outputs.length > 0) {\n var out = cell.output_area.outputs[0];\n if (out.output_type == 'display_data') {\n cell.clear_output();\n }\n }\n }\n },\n\n _handle_loading_file_finished: function() {\n this.send({'type': 'async_message', 'data': 'ok'});\n },\n \n _handle_stage_loadFile: function(msg){\n // args = [{'type': ..., 'data': ...}]\n var args0 = msg.args[0];\n var that = this;\n if (args0.type == 'blob') {\n var blob;\n if (args0.binary) {\n var decoded_data = this.decode_base64(args0.data);\n blob = new Blob([decoded_data], {\n type: \"application/octet-binary\"\n });\n } else {\n blob = new Blob([args0.data], {\n type: \"text/plain\"\n });\n }\n this.stage.loadFile(blob, msg.kwargs).then(function(o){\n that._handle_loading_file_finished();\n o; // to pass eslint; ack;\n });\n } else {\n this.stage.loadFile(msg.args[0].data, msg.kwargs).then(function(o){\n that._handle_loading_file_finished();\n o; // to pass eslint; ack;\n });\n }\n },\n\n on_msg: function(msg) {\n // TODO: re-organize\n if (msg.type == 'call_method') {\n var index, component, func, stage;\n var new_args = msg.args.slice();\n new_args.push(msg.kwargs);\n\n switch (msg.target) {\n case 'Stage':\n var stage_func = this.stage[msg.methodName];\n stage = this.stage;\n if (msg.methodName == 'screenshot') {\n NGL.screenshot(this.stage.viewer, msg.kwargs);\n } else if (msg.methodName == 'removeComponent') {\n index = msg.args[0];\n component = this.stage.compList[index];\n this.stage.removeComponent(component);\n } else if (msg.methodName == 'loadFile') {\n this._handle_stage_loadFile(msg);\n } else {\n stage_func.apply(stage, new_args);\n }\n break;\n case 'Viewer':\n var viewer = this.stage.viewer;\n func = this.stage.viewer[msg.methodName];\n func.apply(viewer, new_args);\n break;\n case 'viewerControls':\n var controls = this.stage.viewerControls;\n func = controls[msg.methodName];\n func.apply(controls, new_args);\n break;\n case 'compList':\n index = msg['component_index'];\n component = this.stage.compList[index];\n func = component[msg.methodName];\n func.apply(component, new_args);\n break;\n case 'StructureComponent':\n component = this.structureComponent;\n func = component[msg.methodName];\n func.apply(component, new_args);\n break;\n case 'Widget':\n func = this[msg.methodName];\n if (func) {\n func.apply(this, new_args);\n } else {\n // send error message to Python?\n console.log('can not create func for ' + msg.methodName);\n }\n break;\n case 'player':\n func = this.$player[msg.methodName];\n if (func) {\n func.apply(this.$player, new_args);\n } else {\n // send error message to Python?\n console.log('can not create func for ' + msg.methodName);\n }\n break;\n case 'Representation':\n var component_index = msg['component_index'];\n var repr_index = msg['repr_index'];\n var repr = component.reprList[repr_index];\n component = this.stage.compList[component_index];\n func = repr[msg.methodName];\n if (repr && func) {\n func.apply(repr, new_args);\n }\n break;\n default:\n console.log('there is no method for ' + msg.target);\n break;\n }\n } else if (msg.type == 'base64_single') {\n var coordinatesDict = msg.data;\n var keys = Object.keys(coordinatesDict);\n\n for (var i = 0; i < keys.length; i++) {\n var traj_index = keys[i];\n var coordinates = this.decode_base64(coordinatesDict[traj_index]);\n if (coordinates.byteLength > 0) {\n this.updateCoordinates(coordinates, traj_index);\n }\n }\n } else if (msg.type == 'binary_single') {\n var coordinateMeta = msg.data;\n keys = Object.keys(coordinateMeta);\n\n for (i = 0; i < keys.length; i++) {\n traj_index = keys[i];\n coordinates = new Float32Array(msg.buffers[i].buffer);\n if (coordinates.byteLength > 0) {\n this.updateCoordinates(coordinates, traj_index);\n }\n }\n } else if (msg.type == 'get') {\n if (msg.data == 'camera') {\n this.send(JSON.stringify(this.stage.viewer.camera));\n } else if (msg.data == 'parameters') {\n this.send(JSON.stringify(this.stage.parameters));\n } else {\n for (i = 0; i < this.stage.compList.length; i++) {\n console.log(this.stage.compList[i]);\n }\n }\n }\n },\n});\n\nvar NGLBox = widgets.BoxView.extend({\n initialize: function(parameters) {\n widgets.BoxView.prototype.initialize.call(this, parameters);\n this.$dialog = undefined;\n },\n\n render: function() {\n this.model.on('change:_dialog', this.dialogCommandChanged, this);\n this.model.on('change:_ngl_command', this.commandChanged, this);\n widgets.BoxView.prototype.render.call(this);\n },\n\n dialogCommandChanged: function() {\n var _dialog = this.model.get('_dialog');\n if (_dialog == 'on') {\n this.setDialog();\n }\n },\n\n merge: function() {\n // TODO: rename and add doc\n console.log('calling merge');\n var v0 = this.children_views.views[0];\n var v1 = this.children_views.views[1];\n\n v0.then(function(v00) {\n v1.then(function(v11) {\n v11.$el.appendTo(v00.$container)\n .css(\"position\", \"absolute\")\n .css(\"bottom\", \"5%\")\n .css(\"left\", \"3%\")\n .css(\"padding\", \"2px 5px 2px 5px\")\n });\n });\n },\n\n commandChanged: function() {\n var cm = this.model.get('_ngl_command');\n if (cm == 'merge') {\n this.merge();\n } else {\n console.log(\"place holder\");\n }\n },\n\n setDialog: function() {\n //var $node = $(this.$el.parent()[0]);\n var $node = $(this.$el);\n $node.addClass('jupyter-widgets');\n $node.addClass('widget-container');\n $node.addClass('widget-box');\n var dialog = $node.dialog({\n draggable: true,\n resizable: true,\n modal: false,\n height: 'auto',\n show: {\n effect: \"blind\",\n duration: 150\n },\n });\n dialog.css({\n overflow: 'hidden'\n });\n dialog.prev('.ui-dialog-titlebar')\n .css({\n 'background': 'transparent',\n 'border': 'none'\n });\n },\n});\n\nmodule.exports = {\n 'NGLView': NGLView,\n 'NGL': NGL,\n 'NGLBox': NGLBox\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget_ngl.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"jupyter-js-widgets\"\n// module id = 2\n// module chunks = 0","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e(t.NGL=t.NGL||{})}(this,function(t){\"use strict\";function e(){}function i(t,e){return function(){t.apply(e,arguments)}}function r(t){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof t)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(t,this)}function n(t,e){for(;3===t._state;)t=t._value;if(0===t._state)return void t._deferreds.push(e);t._handled=!0,mu(function(){var i=1===t._state?e.onFulfilled:e.onRejected;if(null===i)return void(1===t._state?o:a)(e.promise,t._value);var r;try{r=i(t._value)}catch(t){return void a(e.promise,t)}o(e.promise,r)})}function o(t,e){try{if(e===t)throw new TypeError(\"A promise cannot be resolved with itself.\");if(e&&(\"object\"==typeof e||\"function\"==typeof e)){var n=e.then;if(e instanceof r)return t._state=3,t._value=e,void s(t);if(\"function\"==typeof n)return void u(i(n,e),t)}t._state=1,t._value=e,s(t)}catch(e){a(t,e)}}function a(t,e){t._state=2,t._value=e,s(t)}function s(t){2===t._state&&0===t._deferreds.length&&mu(function(){t._handled||gu(t._value)});for(var e=0,i=t._deferreds.length;e0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}function y(t,e,i,r,n,o,a,s,c,u,h,l){p.call(this,null,o,a,s,c,u,r,n,h,l),this.image={data:t,width:e,height:i},this.magFilter=void 0!==c?c:Ph,this.minFilter=void 0!==u?u:Ph,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function b(t,e,i,r,n,o,a,s,c,u){t=void 0!==t?t:[],e=void 0!==e?e:gh,p.call(this,t,e,i,r,n,o,a,s,c,u),this.flipY=!1}function x(){this.seq=[],this.map={}}function _(t,e,i){var r=t[0];if(r<=0||r>0)return t;var n=e*i,o=Al[n];if(void 0===o&&(o=new Float32Array(n),Al[n]=o),0!==e){r.toArray(o,0);for(var a=1,s=0;a!==e;++a)s+=i,t[a].toArray(o,s)}return o}function w(t,e){var i=Ml[e];void 0===i&&(i=new Int32Array(e),Ml[e]=i);for(var r=0;r!==e;++r)i[r]=t.allocTextureUnit();return i}function S(t,e){t.uniform1f(this.addr,e)}function A(t,e){t.uniform1i(this.addr,e)}function M(t,e){void 0===e.x?t.uniform2fv(this.addr,e):t.uniform2f(this.addr,e.x,e.y)}function P(t,e){void 0!==e.x?t.uniform3f(this.addr,e.x,e.y,e.z):void 0!==e.r?t.uniform3f(this.addr,e.r,e.g,e.b):t.uniform3fv(this.addr,e)}function T(t,e){void 0===e.x?t.uniform4fv(this.addr,e):t.uniform4f(this.addr,e.x,e.y,e.z,e.w)}function E(t,e){t.uniformMatrix2fv(this.addr,!1,e.elements||e)}function C(t,e){void 0===e.elements?t.uniformMatrix3fv(this.addr,!1,e):(Tl.set(e.elements),t.uniformMatrix3fv(this.addr,!1,Tl))}function I(t,e){void 0===e.elements?t.uniformMatrix4fv(this.addr,!1,e):(Pl.set(e.elements),t.uniformMatrix4fv(this.addr,!1,Pl))}function L(t,e,i){var r=i.allocTextureUnit();t.uniform1i(this.addr,r),i.setTexture2D(e||wl,r)}function R(t,e,i){var r=i.allocTextureUnit();t.uniform1i(this.addr,r),i.setTextureCube(e||Sl,r)}function O(t,e){t.uniform2iv(this.addr,e)}function D(t,e){t.uniform3iv(this.addr,e)}function N(t,e){t.uniform4iv(this.addr,e)}function k(t){switch(t){case 5126:return S;case 35664:return M;case 35665:return P;case 35666:return T;case 35674:return E;case 35675:return C;case 35676:return I;case 35678:return L;case 35680:return R;case 5124:case 35670:return A;case 35667:case 35671:return O;case 35668:case 35672:return D;case 35669:case 35673:return N}}function B(t,e){t.uniform1fv(this.addr,e)}function F(t,e){t.uniform1iv(this.addr,e)}function z(t,e){t.uniform2fv(this.addr,_(e,this.size,2))}function U(t,e){t.uniform3fv(this.addr,_(e,this.size,3))}function j(t,e){t.uniform4fv(this.addr,_(e,this.size,4))}function G(t,e){t.uniformMatrix2fv(this.addr,!1,_(e,this.size,4))}function V(t,e){t.uniformMatrix3fv(this.addr,!1,_(e,this.size,9))}function $(t,e){t.uniformMatrix4fv(this.addr,!1,_(e,this.size,16))}function H(t,e,i){var r=e.length,n=w(i,r);t.uniform1iv(this.addr,n);for(var o=0;o!==r;++o)i.setTexture2D(e[o]||wl,n[o])}function W(t,e,i){var r=e.length,n=w(i,r);t.uniform1iv(this.addr,n);for(var o=0;o!==r;++o)i.setTextureCube(e[o]||Sl,n[o])}function X(t){switch(t){case 5126:return B;case 35664:return z;case 35665:return U;case 35666:return j;case 35674:return G;case 35675:return V;case 35676:return $;case 35678:return H;case 35680:return W;case 5124:case 35670:return F;case 35667:case 35671:return O;case 35668:case 35672:return D;case 35669:case 35673:return N}}function q(t,e,i){this.id=t,this.addr=i,this.setValue=k(e.type)}function Y(t,e,i){this.id=t,this.addr=i,this.size=e.size,this.setValue=X(e.type)}function Z(t){this.id=t,x.call(this)}function K(t,e){t.seq.push(e),t.map[e.id]=e}function Q(t,e,i){var r=t.name,n=r.length;for(El.lastIndex=0;;){var o=El.exec(r),a=El.lastIndex,s=o[1],c=\"]\"===o[2],u=o[3];if(c&&(s|=0),void 0===u||\"[\"===u&&a+2===n){K(i,void 0===u?new q(s,t,e):new Y(s,t,e));break}var h=i.map[s];void 0===h&&K(i,h=new Z(s)),i=h}}function J(t,e,i){var r=this;x.call(this),this.renderer=i;for(var n=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),o=0;o.001&&L.scale>.001&&(S.x=L.x,S.y=L.y,S.z=L.z,_=L.size*L.scale/m.w,w.x=_*y,w.y=_,d.uniform3f(u.screenPosition,S.x,S.y,S.z),d.uniform2f(u.scale,w.x,w.y),d.uniform1f(u.rotation,L.rotation),d.uniform1f(u.opacity,L.opacity),d.uniform3f(u.color,L.color.r,L.color.g,L.color.b),f.setBlending(L.blending,L.blendEquation,L.blendSrc,L.blendDst),t.setTexture2D(L.texture,1),d.drawElements(d.TRIANGLES,6,d.UNSIGNED_SHORT,0))}}}f.enable(d.CULL_FACE),f.enable(d.DEPTH_TEST),f.buffers.depth.setMask(!0),t.resetGLState()}}}function rt(t,e){function i(){var t=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),e=new Uint16Array([0,1,2,0,2,3]);o=l.createBuffer(),a=l.createBuffer(),l.bindBuffer(l.ARRAY_BUFFER,o),l.bufferData(l.ARRAY_BUFFER,t,l.STATIC_DRAW),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,a),l.bufferData(l.ELEMENT_ARRAY_BUFFER,e,l.STATIC_DRAW),s=r(),c={position:l.getAttribLocation(s,\"position\"),uv:l.getAttribLocation(s,\"uv\")},u={uvOffset:l.getUniformLocation(s,\"uvOffset\"),uvScale:l.getUniformLocation(s,\"uvScale\"),rotation:l.getUniformLocation(s,\"rotation\"),scale:l.getUniformLocation(s,\"scale\"),color:l.getUniformLocation(s,\"color\"),map:l.getUniformLocation(s,\"map\"),opacity:l.getUniformLocation(s,\"opacity\"),modelViewMatrix:l.getUniformLocation(s,\"modelViewMatrix\"),projectionMatrix:l.getUniformLocation(s,\"projectionMatrix\"),fogType:l.getUniformLocation(s,\"fogType\"),fogDensity:l.getUniformLocation(s,\"fogDensity\"),fogNear:l.getUniformLocation(s,\"fogNear\"),fogFar:l.getUniformLocation(s,\"fogFar\"),fogColor:l.getUniformLocation(s,\"fogColor\"),alphaTest:l.getUniformLocation(s,\"alphaTest\")};var i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");i.width=8,i.height=8;var n=i.getContext(\"2d\");n.fillStyle=\"white\",n.fillRect(0,0,8,8),(h=new p(i)).needsUpdate=!0}function r(){var e=l.createProgram(),i=l.createShader(l.VERTEX_SHADER),r=l.createShader(l.FRAGMENT_SHADER);return l.shaderSource(i,[\"precision \"+t.getPrecision()+\" float;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform float rotation;\",\"uniform vec2 scale;\",\"uniform vec2 uvOffset;\",\"uniform vec2 uvScale;\",\"attribute vec2 position;\",\"attribute vec2 uv;\",\"varying vec2 vUV;\",\"void main() {\",\"vUV = uvOffset + uv * uvScale;\",\"vec2 alignedPosition = position * scale;\",\"vec2 rotatedPosition;\",\"rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\",\"rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\",\"vec4 finalPosition;\",\"finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\",\"finalPosition.xy += rotatedPosition;\",\"finalPosition = projectionMatrix * finalPosition;\",\"gl_Position = finalPosition;\",\"}\"].join(\"\\n\")),l.shaderSource(r,[\"precision \"+t.getPrecision()+\" float;\",\"uniform vec3 color;\",\"uniform sampler2D map;\",\"uniform float opacity;\",\"uniform int fogType;\",\"uniform vec3 fogColor;\",\"uniform float fogDensity;\",\"uniform float fogNear;\",\"uniform float fogFar;\",\"uniform float alphaTest;\",\"varying vec2 vUV;\",\"void main() {\",\"vec4 texture = texture2D( map, vUV );\",\"if ( texture.a < alphaTest ) discard;\",\"gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\",\"if ( fogType > 0 ) {\",\"float depth = gl_FragCoord.z / gl_FragCoord.w;\",\"float fogFactor = 0.0;\",\"if ( fogType == 1 ) {\",\"fogFactor = smoothstep( fogNear, fogFar, depth );\",\"} else {\",\"const float LOG2 = 1.442695;\",\"fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\",\"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\",\"}\",\"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\",\"}\",\"}\"].join(\"\\n\")),l.compileShader(i),l.compileShader(r),l.attachShader(e,i),l.attachShader(e,r),l.linkProgram(e),e}function n(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:e.id-t.id}var o,a,s,c,u,h,l=t.context,d=t.state,f=new g,v=new m,y=new g;this.render=function(r,p){if(0!==e.length){void 0===s&&i(),l.useProgram(s),d.initAttributes(),d.enableAttribute(c.position),d.enableAttribute(c.uv),d.disableUnusedAttributes(),d.disable(l.CULL_FACE),d.enable(l.BLEND),l.bindBuffer(l.ARRAY_BUFFER,o),l.vertexAttribPointer(c.position,2,l.FLOAT,!1,16,0),l.vertexAttribPointer(c.uv,2,l.FLOAT,!1,16,8),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,a),l.uniformMatrix4fv(u.projectionMatrix,!1,p.projectionMatrix.elements),d.activeTexture(l.TEXTURE0),l.uniform1i(u.map,0);var m=0,g=0,b=r.fog;b?(l.uniform3f(u.fogColor,b.color.r,b.color.g,b.color.b),b.isFog?(l.uniform1f(u.fogNear,b.near),l.uniform1f(u.fogFar,b.far),l.uniform1i(u.fogType,1),m=1,g=1):b.isFogExp2&&(l.uniform1f(u.fogDensity,b.density),l.uniform1i(u.fogType,2),m=2,g=2)):(l.uniform1i(u.fogType,0),m=0,g=0);for(var x=0,_=e.length;x<_;x++)(S=e[x]).modelViewMatrix.multiplyMatrices(p.matrixWorldInverse,S.matrixWorld),S.z=-S.modelViewMatrix.elements[14];e.sort(n);for(var w=[],x=0,_=e.length;x<_;x++){var S=e[x],A=S.material;if(!1!==A.visible){l.uniform1f(u.alphaTest,A.alphaTest),l.uniformMatrix4fv(u.modelViewMatrix,!1,S.modelViewMatrix.elements),S.matrixWorld.decompose(f,v,y),w[0]=y.x,w[1]=y.y;var M=0;r.fog&&A.fog&&(M=g),m!==M&&(l.uniform1i(u.fogType,M),m=M),null!==A.map?(l.uniform2f(u.uvOffset,A.map.offset.x,A.map.offset.y),l.uniform2f(u.uvScale,A.map.repeat.x,A.map.repeat.y)):(l.uniform2f(u.uvOffset,0,0),l.uniform2f(u.uvScale,1,1)),l.uniform1f(u.opacity,A.opacity),l.uniform3f(u.color,A.color.r,A.color.g,A.color.b),l.uniform1f(u.rotation,A.rotation),l.uniform2fv(u.scale,w),d.setBlending(A.blending,A.blendEquation,A.blendSrc,A.blendDst),d.buffers.depth.setTest(A.depthTest),d.buffers.depth.setMask(A.depthWrite),A.map?t.setTexture2D(A.map,0):t.setTexture2D(h,0),l.drawElements(l.TRIANGLES,6,l.UNSIGNED_SHORT,0)}}d.enable(l.CULL_FACE),t.resetGLState()}}}function nt(){Object.defineProperty(this,\"id\",{value:Dl++}),this.uuid=xl.generateUUID(),this.name=\"\",this.type=\"Material\",this.fog=!0,this.lights=!0,this.blending=Ou,this.side=Au,this.shading=Eu,this.vertexColors=Cu,this.opacity=1,this.transparent=!1,this.blendSrc=Xu,this.blendDst=qu,this.blendEquation=Fu,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=rh,this.depthTest=!0,this.depthWrite=!0,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.overdraw=0,this.visible=!0,this.needsUpdate=!0}function ot(t){nt.call(this),this.type=\"ShaderMaterial\",this.defines={},this.uniforms={},this.vertexShader=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\",this.fragmentShader=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,void 0!==t&&(void 0!==t.attributes&&console.error(\"THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.\"),this.setValues(t))}function at(t){nt.call(this),this.type=\"MeshDepthMaterial\",this.depthPacking=yl,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(t)}function st(t,e){this.min=void 0!==t?t:new g(1/0,1/0,1/0),this.max=void 0!==e?e:new g(-1/0,-1/0,-1/0)}function ct(t,e){this.center=void 0!==t?t:new g,this.radius=void 0!==e?e:0}function ut(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}function ht(t,e){this.normal=void 0!==t?t:new g(1,0,0),this.constant=void 0!==e?e:0}function lt(t,e,i,r,n,o){this.planes=[void 0!==t?t:new ht,void 0!==e?e:new ht,void 0!==i?i:new ht,void 0!==r?r:new ht,void 0!==n?n:new ht,void 0!==o?o:new ht]}function pt(t,e,i,r){function n(e,i,r,n){var o=e.geometry,a=null,s=S,c=e.customDepthMaterial;if(r&&(s=A,c=e.customDistanceMaterial),c)a=c;else{var u=!1;i.morphTargets&&(o&&o.isBufferGeometry?u=o.morphAttributes&&o.morphAttributes.position&&o.morphAttributes.position.length>0:o&&o.isGeometry&&(u=o.morphTargets&&o.morphTargets.length>0)),e.isSkinnedMesh&&!1===i.skinning&&console.warn(\"THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:\",e);var h=e.isSkinnedMesh&&i.skinning,l=0;u&&(l|=x),h&&(l|=_),a=s[l]}if(t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length){var p=a.uuid,d=i.uuid,f=M[p];void 0===f&&(f={},M[p]=f);var m=f[d];void 0===m&&(m=a.clone(),f[d]=m),a=m}a.visible=i.visible,a.wireframe=i.wireframe;var g=i.side;return B.renderSingleSided&&g==Pu&&(g=Au),B.renderReverseSided&&(g===Au?g=Mu:g===Mu&&(g=Au)),a.side=g,a.clipShadows=i.clipShadows,a.clippingPlanes=i.clippingPlanes,a.wireframeLinewidth=i.wireframeLinewidth,a.linewidth=i.linewidth,r&&void 0!==a.uniforms.lightPos&&a.uniforms.lightPos.value.copy(n),a}function o(e,r,a,s){if(!1!==e.visible){if(e.layers.test(r.layers)&&(e.isMesh||e.isLine||e.isPoints)&&e.castShadow&&(!e.frustumCulled||c.intersectsObject(e))){e.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,e.matrixWorld);var u=i.update(e),h=e.material;if(Array.isArray(h))for(var l=u.groups,p=0,d=l.length;pe&&(e=t[i]);return e}function Tt(){return kl++}function Et(){Object.defineProperty(this,\"id\",{value:Tt()}),this.uuid=xl.generateUUID(),this.name=\"\",this.type=\"Geometry\",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function Ct(){Object.defineProperty(this,\"id\",{value:Tt()}),this.uuid=xl.generateUUID(),this.name=\"\",this.type=\"BufferGeometry\",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0}}function It(t,e){gt.call(this),this.type=\"Mesh\",this.geometry=void 0!==t?t:new Ct,this.material=void 0!==e?e:new xt({color:16777215*Math.random()}),this.drawMode=cl,this.updateMorphTargets()}function Lt(t,e,i,r,n,o){Et.call(this),this.type=\"BoxGeometry\",this.parameters={width:t,height:e,depth:i,widthSegments:r,heightSegments:n,depthSegments:o},this.fromBufferGeometry(new Rt(t,e,i,r,n,o)),this.mergeVertices()}function Rt(t,e,i,r,n,o){function a(t,e,i,r,n,o,a,f,m,v,y){var b,x,_=o/m,w=a/v,S=o/2,A=a/2,M=f/2,P=m+1,T=v+1,E=0,C=0,I=new g;for(x=0;x0?1:-1,h.push(I.x,I.y,I.z),l.push(b/m),l.push(1-x/v),E+=1}}for(x=0;x65535?St:wt)(n,1),e.update(r,t.ELEMENT_ARRAY_BUFFER),c[i.id]=r,r}var s={},c={};return{get:n,update:o,getWireframeAttribute:a}}function Wt(){var t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];var i;switch(e.type){case\"DirectionalLight\":i={direction:new g,color:new tt,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new l};break;case\"SpotLight\":i={position:new g,direction:new g,color:new tt,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new l};break;case\"PointLight\":i={position:new g,color:new tt,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new l};break;case\"HemisphereLight\":i={direction:new g,skyColor:new tt,groundColor:new tt};break;case\"RectAreaLight\":i={color:new tt,position:new g,halfWidth:new g,halfHeight:new g}}return t[e.id]=i,i}}}function Xt(t,e,i){function r(t){var r=i.frame,n=t.geometry,a=e.get(t,n);return o[a.id]!==r&&(n.isGeometry&&a.updateFromObject(t),e.update(a),o[a.id]=r),a}function n(){o={}}var o={};return{update:r,clear:n}}function qt(t){for(var e=t.split(\"\\n\"),i=0;i\");return oe(i)}return t.replace(/^[ \\t]*#include +<([\\w\\d.]+)>/gm,e)}function ae(t){function e(t,e,i,r){for(var n=\"\",o=parseInt(e);o0?t.gammaFactor:1,g=te(o,r,t.extensions),v=ee(a),y=n.createProgram();i.isRawShaderMaterial?(d=[v,\"\\n\"].filter(re).join(\"\\n\"),f=[g,v,\"\\n\"].filter(re).join(\"\\n\")):(d=[\"precision \"+r.precision+\" float;\",\"precision \"+r.precision+\" int;\",\"#define SHADER_NAME \"+i.__webglShader.name,v,r.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define GAMMA_FACTOR \"+m,\"#define MAX_BONES \"+r.maxBones,r.useFog&&r.fog?\"#define USE_FOG\":\"\",r.useFog&&r.fogExp?\"#define FOG_EXP2\":\"\",r.map?\"#define USE_MAP\":\"\",r.envMap?\"#define USE_ENVMAP\":\"\",r.envMap?\"#define \"+l:\"\",r.lightMap?\"#define USE_LIGHTMAP\":\"\",r.aoMap?\"#define USE_AOMAP\":\"\",r.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",r.bumpMap?\"#define USE_BUMPMAP\":\"\",r.normalMap?\"#define USE_NORMALMAP\":\"\",r.displacementMap&&r.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",r.specularMap?\"#define USE_SPECULARMAP\":\"\",r.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",r.metalnessMap?\"#define USE_METALNESSMAP\":\"\",r.alphaMap?\"#define USE_ALPHAMAP\":\"\",r.vertexColors?\"#define USE_COLOR\":\"\",r.flatShading?\"#define FLAT_SHADED\":\"\",r.skinning?\"#define USE_SKINNING\":\"\",r.useVertexTexture?\"#define BONE_TEXTURE\":\"\",r.morphTargets?\"#define USE_MORPHTARGETS\":\"\",r.morphNormals&&!1===r.flatShading?\"#define USE_MORPHNORMALS\":\"\",r.doubleSided?\"#define DOUBLE_SIDED\":\"\",r.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+r.numClippingPlanes,r.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",r.shadowMapEnabled?\"#define \"+u:\"\",r.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",r.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",r.logarithmicDepthBuffer&&t.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_COLOR\",\"\\tattribute vec3 color;\",\"#endif\",\"#ifdef USE_MORPHTARGETS\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(re).join(\"\\n\"),f=[g,\"precision \"+r.precision+\" float;\",\"precision \"+r.precision+\" int;\",\"#define SHADER_NAME \"+i.__webglShader.name,v,r.alphaTest?\"#define ALPHATEST \"+r.alphaTest:\"\",\"#define GAMMA_FACTOR \"+m,r.useFog&&r.fog?\"#define USE_FOG\":\"\",r.useFog&&r.fogExp?\"#define FOG_EXP2\":\"\",r.map?\"#define USE_MAP\":\"\",r.envMap?\"#define USE_ENVMAP\":\"\",r.envMap?\"#define \"+h:\"\",r.envMap?\"#define \"+l:\"\",r.envMap?\"#define \"+p:\"\",r.lightMap?\"#define USE_LIGHTMAP\":\"\",r.aoMap?\"#define USE_AOMAP\":\"\",r.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",r.bumpMap?\"#define USE_BUMPMAP\":\"\",r.normalMap?\"#define USE_NORMALMAP\":\"\",r.specularMap?\"#define USE_SPECULARMAP\":\"\",r.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",r.metalnessMap?\"#define USE_METALNESSMAP\":\"\",r.alphaMap?\"#define USE_ALPHAMAP\":\"\",r.vertexColors?\"#define USE_COLOR\":\"\",r.gradientMap?\"#define USE_GRADIENTMAP\":\"\",r.flatShading?\"#define FLAT_SHADED\":\"\",r.doubleSided?\"#define DOUBLE_SIDED\":\"\",r.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+r.numClippingPlanes,\"#define UNION_CLIPPING_PLANES \"+(r.numClippingPlanes-r.numClipIntersection),r.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",r.shadowMapEnabled?\"#define \"+u:\"\",r.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",r.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",r.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",r.logarithmicDepthBuffer&&t.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",r.envMap&&t.extensions.get(\"EXT_shader_texture_lod\")?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",r.toneMapping!==lh?\"#define TONE_MAPPING\":\"\",r.toneMapping!==lh?Rl.tonemapping_pars_fragment:\"\",r.toneMapping!==lh?Jt(\"toneMapping\",r.toneMapping):\"\",r.dithering?\"#define DITHERING\":\"\",r.outputEncoding||r.mapEncoding||r.envMapEncoding||r.emissiveMapEncoding?Rl.encodings_pars_fragment:\"\",r.mapEncoding?Kt(\"mapTexelToLinear\",r.mapEncoding):\"\",r.envMapEncoding?Kt(\"envMapTexelToLinear\",r.envMapEncoding):\"\",r.emissiveMapEncoding?Kt(\"emissiveMapTexelToLinear\",r.emissiveMapEncoding):\"\",r.outputEncoding?Qt(\"linearToOutputTexel\",r.outputEncoding):\"\",r.depthPacking?\"#define DEPTH_PACKING \"+i.depthPacking:\"\",\"\\n\"].filter(re).join(\"\\n\")),s=ne(s=oe(s,r),r),c=ne(c=oe(c,r),r),i.isShaderMaterial||(s=ae(s),c=ae(c));var b=d+s,x=f+c,_=Yt(n,n.VERTEX_SHADER,b),w=Yt(n,n.FRAGMENT_SHADER,x);n.attachShader(y,_),n.attachShader(y,w),void 0!==i.index0AttributeName?n.bindAttribLocation(y,0,i.index0AttributeName):!0===r.morphTargets&&n.bindAttribLocation(y,0,\"position\"),n.linkProgram(y);var S=n.getProgramInfoLog(y),A=n.getShaderInfoLog(_),M=n.getShaderInfoLog(w),P=!0,T=!0;!1===n.getProgramParameter(y,n.LINK_STATUS)?(P=!1,console.error(\"THREE.WebGLProgram: shader error: \",n.getError(),\"gl.VALIDATE_STATUS\",n.getProgramParameter(y,n.VALIDATE_STATUS),\"gl.getProgramInfoLog\",S,A,M)):\"\"!==S?console.warn(\"THREE.WebGLProgram: gl.getProgramInfoLog()\",S):\"\"!==A&&\"\"!==M||(T=!1),T&&(this.diagnostics={runnable:P,material:i,programLog:S,vertexShader:{log:A,prefix:d},fragmentShader:{log:M,prefix:f}}),n.deleteShader(_),n.deleteShader(w);var E;this.getUniforms=function(){return void 0===E&&(E=new J(n,y,t)),E};var C;return this.getAttributes=function(){return void 0===C&&(C=ie(n,y)),C},this.destroy=function(){n.deleteProgram(y),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn(\"THREE.WebGLProgram: .uniforms is now .getUniforms().\"),this.getUniforms()}},attributes:{get:function(){return console.warn(\"THREE.WebGLProgram: .attributes is now .getAttributes().\"),this.getAttributes()}}}),this.id=Bl++,this.code=e,this.usedTimes=1,this.program=y,this.vertexShader=_,this.fragmentShader=w,this}function ce(t,e){function i(t){var i=t.skeleton.bones;if(e.floatVertexTextures)return 1024;var r=e.maxVertexUniforms,n=Math.floor((r-20)/4),o=Math.min(n,i.length);return o0,maxBones:p,useVertexTexture:e.floatVertexTextures,morphTargets:n.morphTargets,morphNormals:n.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:a.directional.length,numPointLights:a.point.length,numSpotLights:a.spot.length,numRectAreaLights:a.rectArea.length,numHemiLights:a.hemi.length,numClippingPlanes:c,numClipIntersection:u,dithering:n.dithering,shadowMapEnabled:t.shadowMap.enabled&&h.receiveShadow&&a.shadows.length>0,shadowMapType:t.shadowMap.type,toneMapping:t.toneMapping,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:n.premultipliedAlpha,alphaTest:n.alphaTest,doubleSided:n.side===Pu,flipSided:n.side===Mu,depthPacking:void 0!==n.depthPacking&&n.depthPacking}},this.getProgramCode=function(t,e){var i=[];if(e.shaderID?i.push(e.shaderID):(i.push(t.fragmentShader),i.push(t.vertexShader)),void 0!==t.defines)for(var r in t.defines)i.push(r),i.push(t.defines[r]);for(var n=0;ne||t.height>e){var i=e/Math.max(t.width,t.height),r=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");return r.width=Math.floor(t.width*i),r.height=Math.floor(t.height*i),r.getContext(\"2d\").drawImage(t,0,0,t.width,t.height,0,0,r.width,r.height),console.warn(\"THREE.WebGLRenderer: image is too big (\"+t.width+\"x\"+t.height+\"). Resized to \"+r.width+\"x\"+r.height,t),r}return t}function c(t){return xl.isPowerOfTwo(t.width)&&xl.isPowerOfTwo(t.height)}function u(t){if(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement){var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");return e.width=xl.nearestPowerOfTwo(t.width),e.height=xl.nearestPowerOfTwo(t.height),e.getContext(\"2d\").drawImage(t,0,0,e.width,e.height),console.warn(\"THREE.WebGLRenderer: image is not power of two (\"+t.width+\"x\"+t.height+\"). Resized to \"+e.width+\"x\"+e.height,t),e}return t}function h(t){return t.wrapS!==Ah||t.wrapT!==Ah||t.minFilter!==Ph&&t.minFilter!==Ch}function l(e){return e===Ph||e===Th||e===Eh?t.NEAREST:t.LINEAR}function p(t){var e=t.target;e.removeEventListener(\"dispose\",p),f(e),a.textures--}function d(t){var e=t.target;e.removeEventListener(\"dispose\",d),m(e),a.textures--}function f(e){var i=r.get(e);if(e.image&&i.__image__webglTextureCube)t.deleteTexture(i.__image__webglTextureCube);else{if(void 0===i.__webglInit)return;t.deleteTexture(i.__webglTexture)}r.remove(e)}function m(e){var i=r.get(e),n=r.get(e.texture);if(e){if(void 0!==n.__webglTexture&&t.deleteTexture(n.__webglTexture),e.depthTexture&&e.depthTexture.dispose(),e.isWebGLRenderTargetCube)for(var o=0;o<6;o++)t.deleteFramebuffer(i.__webglFramebuffer[o]),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer[o]);else t.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&t.deleteRenderbuffer(i.__webglDepthbuffer);r.remove(e.texture),r.remove(e)}}function g(e,n){var o=r.get(e);if(e.version>0&&o.__version!==e.version){var a=e.image;if(void 0===a)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\",e);else{if(!1!==a.complete)return void x(o,e,n);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\",e)}}i.activeTexture(t.TEXTURE0+n),i.bindTexture(t.TEXTURE_2D,o.__webglTexture)}function v(e,u){var h=r.get(e);if(6===e.image.length)if(e.version>0&&h.__version!==e.version){h.__image__webglTextureCube||(e.addEventListener(\"dispose\",p),h.__image__webglTextureCube=t.createTexture(),a.textures++),i.activeTexture(t.TEXTURE0+u),i.bindTexture(t.TEXTURE_CUBE_MAP,h.__image__webglTextureCube),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e.flipY);for(var l=e&&e.isCompressedTexture,d=e.image[0]&&e.image[0].isDataTexture,f=[],m=0;m<6;m++)f[m]=l||d?d?e.image[m].image:e.image[m]:s(e.image[m],n.maxCubemapSize);var g=c(f[0]),v=o(e.format),y=o(e.type);b(t.TEXTURE_CUBE_MAP,e,g);for(m=0;m<6;m++)if(l)for(var x,_=f[m].mipmaps,w=0,S=_.length;w-1?i.compressedTexImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,w,v,x.width,x.height,0,x.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,w,v,x.width,x.height,0,v,y,x.data);else d?i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,0,v,f[m].width,f[m].height,0,v,y,f[m].data):i.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,0,v,v,y,f[m]);e.generateMipmaps&&g&&t.generateMipmap(t.TEXTURE_CUBE_MAP),h.__version=e.version,e.onUpdate&&e.onUpdate(e)}else i.activeTexture(t.TEXTURE0+u),i.bindTexture(t.TEXTURE_CUBE_MAP,h.__image__webglTextureCube)}function y(e,n){i.activeTexture(t.TEXTURE0+n),i.bindTexture(t.TEXTURE_CUBE_MAP,r.get(e).__webglTexture)}function b(i,a,s){var c;if(s?(t.texParameteri(i,t.TEXTURE_WRAP_S,o(a.wrapS)),t.texParameteri(i,t.TEXTURE_WRAP_T,o(a.wrapT)),t.texParameteri(i,t.TEXTURE_MAG_FILTER,o(a.magFilter)),t.texParameteri(i,t.TEXTURE_MIN_FILTER,o(a.minFilter))):(t.texParameteri(i,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(i,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),a.wrapS===Ah&&a.wrapT===Ah||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\",a),t.texParameteri(i,t.TEXTURE_MAG_FILTER,l(a.magFilter)),t.texParameteri(i,t.TEXTURE_MIN_FILTER,l(a.minFilter)),a.minFilter!==Ph&&a.minFilter!==Ch&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\",a)),c=e.get(\"EXT_texture_filter_anisotropic\")){if(a.type===Fh&&null===e.get(\"OES_texture_float_linear\"))return;if(a.type===zh&&null===e.get(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(t.texParameterf(i,c.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,n.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function x(e,r,l){void 0===e.__webglInit&&(e.__webglInit=!0,r.addEventListener(\"dispose\",p),e.__webglTexture=t.createTexture(),a.textures++),i.activeTexture(t.TEXTURE0+l),i.bindTexture(t.TEXTURE_2D,e.__webglTexture),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,r.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,r.unpackAlignment);var d=s(r.image,n.maxTextureSize);h(r)&&!1===c(d)&&(d=u(d));var f=c(d),m=o(r.format),g=o(r.type);b(t.TEXTURE_2D,r,f);var v,y=r.mipmaps;if(r.isDepthTexture){var x=t.DEPTH_COMPONENT;if(r.type===Fh){if(!T)throw new Error(\"Float Depth Texture only supported in WebGL2.0\");x=t.DEPTH_COMPONENT32F}else T&&(x=t.DEPTH_COMPONENT16);r.format===Yh&&x===t.DEPTH_COMPONENT&&r.type!==Nh&&r.type!==Bh&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\"),r.type=Nh,g=o(r.type)),r.format===Zh&&(x=t.DEPTH_STENCIL,r.type!==Vh&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\"),r.type=Vh,g=o(r.type))),i.texImage2D(t.TEXTURE_2D,0,x,d.width,d.height,0,m,g,null)}else if(r.isDataTexture)if(y.length>0&&f){for(var _=0,w=y.length;_-1?i.compressedTexImage2D(t.TEXTURE_2D,_,m,v.width,v.height,0,v.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):i.texImage2D(t.TEXTURE_2D,_,m,v.width,v.height,0,m,g,v.data);else if(y.length>0&&f){for(var _=0,w=y.length;_=1,rt=null,nt={},ot=new d,at=new d,st={};return st[t.TEXTURE_2D]=a(t.TEXTURE_2D,t.TEXTURE_2D,1),st[t.TEXTURE_CUBE_MAP]=a(t.TEXTURE_CUBE_MAP,t.TEXTURE_CUBE_MAP_POSITIVE_X,6),{buffers:{color:L,depth:R,stencil:O},init:s,initAttributes:c,enableAttribute:u,enableAttributeAndDivisor:h,disableUnusedAttributes:l,enable:p,disable:f,getCompressedTextureFormats:m,setBlending:g,setMaterial:v,setFlipSided:y,setCullFace:b,setLineWidth:x,setPolygonOffset:_,getScissorTest:w,setScissorTest:S,activeTexture:A,bindTexture:M,compressedTexImage2D:P,texImage2D:T,scissor:E,viewport:C,reset:I}}function pe(t,e,i){function r(){if(void 0!==o)return o;var i=e.get(\"EXT_texture_filter_anisotropic\");return o=null!==i?t.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function n(e){if(\"highp\"===e){if(t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return\"highp\";e=\"mediump\"}return\"mediump\"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}var o,a=void 0!==i.precision?i.precision:\"highp\",s=n(a);s!==a&&(console.warn(\"THREE.WebGLRenderer:\",a,\"not supported, using\",s,\"instead.\"),a=s);var c=!0===i.logarithmicDepthBuffer&&!!e.get(\"EXT_frag_depth\"),u=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),h=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),l=t.getParameter(t.MAX_TEXTURE_SIZE),p=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),d=t.getParameter(t.MAX_VERTEX_ATTRIBS),f=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),m=t.getParameter(t.MAX_VARYING_VECTORS),g=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=h>0,y=!!e.get(\"OES_texture_float\");return{getMaxAnisotropy:r,getMaxPrecision:n,precision:a,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:h,maxTextureSize:l,maxCubemapSize:p,maxAttributes:d,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y}}function de(t){var e={};return{get:function(i){if(void 0!==e[i])return e[i];var r;switch(i){case\"WEBGL_depth_texture\":r=t.getExtension(\"WEBGL_depth_texture\")||t.getExtension(\"MOZ_WEBGL_depth_texture\")||t.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":r=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":r=t.getExtension(\"WEBGL_compressed_texture_s3tc\")||t.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":r=t.getExtension(\"WEBGL_compressed_texture_pvrtc\")||t.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;case\"WEBGL_compressed_texture_etc1\":r=t.getExtension(\"WEBGL_compressed_texture_etc1\");break;default:r=t.getExtension(i)}return null===r&&console.warn(\"THREE.WebGLRenderer: \"+i+\" extension not supported.\"),e[i]=r,r}}}function fe(){function t(){u.value!==r&&(u.value=r,u.needsUpdate=n>0),i.numPlanes=n,i.numIntersection=0}function e(t,e,r,n){var o=null!==t?t.length:0,a=null;if(0!==o){if(a=u.value,!0!==n||null===a){var h=r+4*o,l=e.matrixWorldInverse;c.getNormalMatrix(l),(null===a||a.length=0){var u=n[s];if(void 0!==u){var h=u.normalized,l=u.itemSize,p=Jt.get(u),d=p.buffer,f=p.type,m=p.bytesPerElement;if(u.isInterleavedBufferAttribute){var g=u.data,v=g.stride,y=u.offset;g&&g.isInstancedInterleavedBuffer?(Zt.enableAttributeAndDivisor(c,g.meshPerAttribute),void 0===i.maxInstancedCount&&(i.maxInstancedCount=g.meshPerAttribute*g.count)):Zt.enableAttribute(c),Ut.bindBuffer(Ut.ARRAY_BUFFER,d),Ut.vertexAttribPointer(c,l,f,h,v*m,(r*v+y)*m)}else u.isInstancedBufferAttribute?(Zt.enableAttributeAndDivisor(c,u.meshPerAttribute),void 0===i.maxInstancedCount&&(i.maxInstancedCount=u.meshPerAttribute*u.count)):Zt.enableAttribute(c),Ut.bindBuffer(Ut.ARRAY_BUFFER,d),Ut.vertexAttribPointer(c,l,f,h,0,r*l*m)}else if(void 0!==a){var b=a[s];if(void 0!==b)switch(b.length){case 2:Ut.vertexAttrib2fv(c,b);break;case 3:Ut.vertexAttrib3fv(c,b);break;case 4:Ut.vertexAttrib4fv(c,b);break;default:Ut.vertexAttrib1fv(c,b)}}}}Zt.disableUnusedAttributes()}function l(t,e,i){if(t.visible){if(t.layers.test(e.layers))if(t.isLight)$.push(t);else if(t.isSprite)t.frustumCulled&&!wt.intersectsSprite(t)||X.push(t);else if(t.isLensFlare)q.push(t);else if(t.isImmediateRenderObject)i&&Tt.setFromMatrixPosition(t.matrixWorld).applyMatrix4(Pt),H.push(t,null,t.material,Tt.z,null);else if((t.isMesh||t.isLine||t.isPoints)&&(t.isSkinnedMesh&&t.skeleton.update(),!t.frustumCulled||wt.intersectsObject(t))){i&&Tt.setFromMatrixPosition(t.matrixWorld).applyMatrix4(Pt);var r=ee.update(t),n=t.material;if(Array.isArray(n))for(var o=r.groups,a=0,s=o.length;a=0&&t.numSupportedMorphTargets++}if(t.morphNormals){t.numSupportedMorphNormals=0;for(var p=0;p=0&&t.numSupportedMorphNormals++}var d=r.__webglShader.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(r.numClippingPlanes=St.numPlanes,r.numIntersection=St.numIntersection,d.clippingPlanes=St.uniform),r.fog=e,r.lightsHash=Ot.hash,t.lights&&(d.ambientLightColor.value=Ot.ambient,d.directionalLights.value=Ot.directional,d.spotLights.value=Ot.spot,d.rectAreaLights.value=Ot.rectArea,d.pointLights.value=Ot.point,d.hemisphereLights.value=Ot.hemi,d.directionalShadowMap.value=Ot.directionalShadowMap,d.directionalShadowMatrix.value=Ot.directionalShadowMatrix,d.spotShadowMap.value=Ot.spotShadowMap,d.spotShadowMatrix.value=Ot.spotShadowMatrix,d.pointShadowMap.value=Ot.pointShadowMap,d.pointShadowMatrix.value=Ot.pointShadowMatrix);var f=r.program.getUniforms(),m=J.seqWithValue(f.seq,d);r.uniformsList=m}function b(t,e,i,r){ht=0;var n=Kt.get(i);if(At&&(Mt||t!==at)){var o=t===at&&i.id===et;St.setState(i.clippingPlanes,i.clipIntersection,i.clipShadows,t,n,o)}!1===i.needsUpdate&&(void 0===n.program?i.needsUpdate=!0:i.fog&&n.fog!==e?i.needsUpdate=!0:i.lights&&n.lightsHash!==Ot.hash?i.needsUpdate=!0:void 0===n.numClippingPlanes||n.numClippingPlanes===St.numPlanes&&n.numIntersection===St.numIntersection||(i.needsUpdate=!0)),i.needsUpdate&&(m(i,e,r),i.needsUpdate=!1);var a=!1,s=!1,c=!1,u=n.program,h=u.getUniforms(),l=n.__webglShader.uniforms;if(u.id!==Z&&(Ut.useProgram(u.program),Z=u.id,a=!0,s=!0,c=!0),i.id!==et&&(et=i.id,s=!0),a||t!==at){if(h.setValue(Ut,\"projectionMatrix\",t.projectionMatrix),Yt.logarithmicDepthBuffer&&h.setValue(Ut,\"logDepthBufFC\",2/(Math.log(t.far+1)/Math.LN2)),t!==at&&(at=t,s=!0,c=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.envMap){var p=h.map.cameraPosition;void 0!==p&&p.setValue(Ut,Tt.setFromMatrixPosition(t.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.skinning)&&h.setValue(Ut,\"viewMatrix\",t.matrixWorldInverse),h.setValue(Ut,\"toneMappingExposure\",Y.toneMappingExposure),h.setValue(Ut,\"toneMappingWhitePoint\",Y.toneMappingWhitePoint)}if(i.skinning){h.setOptional(Ut,r,\"bindMatrix\"),h.setOptional(Ut,r,\"bindMatrixInverse\");var d=r.skeleton;if(d){var f=d.bones;if(Yt.floatVertexTextures){if(void 0===d.boneTexture){var g=Math.sqrt(4*f.length);g=xl.nextPowerOfTwo(Math.ceil(g)),g=Math.max(g,4);var v=new Float32Array(g*g*4);v.set(d.boneMatrices);var b=new y(v,g,g,Wh,Fh);d.boneMatrices=v,d.boneTexture=b,d.boneTextureSize=g}h.setValue(Ut,\"boneTexture\",d.boneTexture),h.setValue(Ut,\"boneTextureSize\",d.boneTextureSize)}else h.setOptional(Ut,d,\"boneMatrices\")}}return s&&(i.lights&&L(l,c),e&&i.fog&&A(l,e),(i.isMeshBasicMaterial||i.isMeshLambertMaterial||i.isMeshPhongMaterial||i.isMeshStandardMaterial||i.isMeshNormalMaterial||i.isMeshDepthMaterial)&&x(l,i),i.isLineBasicMaterial?_(l,i):i.isLineDashedMaterial?(_(l,i),w(l,i)):i.isPointsMaterial?S(l,i):i.isMeshLambertMaterial?M(l,i):i.isMeshToonMaterial?T(l,i):i.isMeshPhongMaterial?P(l,i):i.isMeshPhysicalMaterial?C(l,i):i.isMeshStandardMaterial?E(l,i):i.isMeshDepthMaterial?i.displacementMap&&(l.displacementMap.value=i.displacementMap,l.displacementScale.value=i.displacementScale,l.displacementBias.value=i.displacementBias):i.isMeshNormalMaterial&&I(l,i),void 0!==l.ltcMat&&(l.ltcMat.value=Il.LTC_MAT_TEXTURE),void 0!==l.ltcMag&&(l.ltcMag.value=Il.LTC_MAG_TEXTURE),J.upload(Ut,n.uniformsList,l,Y)),h.setValue(Ut,\"modelViewMatrix\",r.modelViewMatrix),h.setValue(Ut,\"normalMatrix\",r.normalMatrix),h.setValue(Ut,\"modelMatrix\",r.matrixWorld),u}function x(t,e){t.opacity.value=e.opacity,t.diffuse.value=e.color,e.emissive&&t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),t.map.value=e.map,t.specularMap.value=e.specularMap,t.alphaMap.value=e.alphaMap,e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.aoMap&&(t.aoMap.value=e.aoMap,t.aoMapIntensity.value=e.aoMapIntensity);var i;if(e.map?i=e.map:e.specularMap?i=e.specularMap:e.displacementMap?i=e.displacementMap:e.normalMap?i=e.normalMap:e.bumpMap?i=e.bumpMap:e.roughnessMap?i=e.roughnessMap:e.metalnessMap?i=e.metalnessMap:e.alphaMap?i=e.alphaMap:e.emissiveMap&&(i=e.emissiveMap),void 0!==i){i.isWebGLRenderTarget&&(i=i.texture);var r=i.offset,n=i.repeat;t.offsetRepeat.value.set(r.x,r.y,n.x,n.y)}t.envMap.value=e.envMap,t.flipEnvMap.value=e.envMap&&e.envMap.isCubeTexture?-1:1,t.reflectivity.value=e.reflectivity,t.refractionRatio.value=e.refractionRatio}function _(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity}function w(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}function S(t,e){if(t.diffuse.value=e.color,t.opacity.value=e.opacity,t.size.value=e.size*vt,t.scale.value=.5*gt,t.map.value=e.map,null!==e.map){var i=e.map.offset,r=e.map.repeat;t.offsetRepeat.value.set(i.x,i.y,r.x,r.y)}}function A(t,e){t.fogColor.value=e.color,e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)}function M(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}function P(t,e){t.specular.value=e.specular,t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function T(t,e){P(t,e),e.gradientMap&&(t.gradientMap.value=e.gradientMap)}function E(t,e){t.roughness.value=e.roughness,t.metalness.value=e.metalness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}function C(t,e){t.clearCoat.value=e.clearCoat,t.clearCoatRoughness.value=e.clearCoatRoughness,E(t,e)}function I(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function L(t,e){t.ambientLightColor.needsUpdate=e,t.directionalLights.needsUpdate=e,t.pointLights.needsUpdate=e,t.spotLights.needsUpdate=e,t.rectAreaLights.needsUpdate=e,t.hemisphereLights.needsUpdate=e}function R(t){for(var e=0,i=0,r=t.length;i=Yt.maxTextures&&console.warn(\"WebGLRenderer: trying to use \"+t+\" texture units while this GPU supports only \"+Yt.maxTextures),ht+=1,t}function N(t){var e;if(t===Sh)return Ut.REPEAT;if(t===Ah)return Ut.CLAMP_TO_EDGE;if(t===Mh)return Ut.MIRRORED_REPEAT;if(t===Ph)return Ut.NEAREST;if(t===Th)return Ut.NEAREST_MIPMAP_NEAREST;if(t===Eh)return Ut.NEAREST_MIPMAP_LINEAR;if(t===Ch)return Ut.LINEAR;if(t===Ih)return Ut.LINEAR_MIPMAP_NEAREST;if(t===Lh)return Ut.LINEAR_MIPMAP_LINEAR;if(t===Rh)return Ut.UNSIGNED_BYTE;if(t===Uh)return Ut.UNSIGNED_SHORT_4_4_4_4;if(t===jh)return Ut.UNSIGNED_SHORT_5_5_5_1;if(t===Gh)return Ut.UNSIGNED_SHORT_5_6_5;if(t===Oh)return Ut.BYTE;if(t===Dh)return Ut.SHORT;if(t===Nh)return Ut.UNSIGNED_SHORT;if(t===kh)return Ut.INT;if(t===Bh)return Ut.UNSIGNED_INT;if(t===Fh)return Ut.FLOAT;if(t===zh&&null!==(e=qt.get(\"OES_texture_half_float\")))return e.HALF_FLOAT_OES;if(t===$h)return Ut.ALPHA;if(t===Hh)return Ut.RGB;if(t===Wh)return Ut.RGBA;if(t===Xh)return Ut.LUMINANCE;if(t===qh)return Ut.LUMINANCE_ALPHA;if(t===Yh)return Ut.DEPTH_COMPONENT;if(t===Zh)return Ut.DEPTH_STENCIL;if(t===Fu)return Ut.FUNC_ADD;if(t===zu)return Ut.FUNC_SUBTRACT;if(t===Uu)return Ut.FUNC_REVERSE_SUBTRACT;if(t===Vu)return Ut.ZERO;if(t===$u)return Ut.ONE;if(t===Hu)return Ut.SRC_COLOR;if(t===Wu)return Ut.ONE_MINUS_SRC_COLOR;if(t===Xu)return Ut.SRC_ALPHA;if(t===qu)return Ut.ONE_MINUS_SRC_ALPHA;if(t===Yu)return Ut.DST_ALPHA;if(t===Zu)return Ut.ONE_MINUS_DST_ALPHA;if(t===Ku)return Ut.DST_COLOR;if(t===Qu)return Ut.ONE_MINUS_DST_COLOR;if(t===Ju)return Ut.SRC_ALPHA_SATURATE;if((t===Kh||t===Qh||t===Jh||t===tl)&&null!==(e=qt.get(\"WEBGL_compressed_texture_s3tc\"))){if(t===Kh)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===Qh)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===Jh)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===tl)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((t===el||t===il||t===rl||t===nl)&&null!==(e=qt.get(\"WEBGL_compressed_texture_pvrtc\"))){if(t===el)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===il)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===rl)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===nl)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===ol&&null!==(e=qt.get(\"WEBGL_compressed_texture_etc1\")))return e.COMPRESSED_RGB_ETC1_WEBGL;if((t===ju||t===Gu)&&null!==(e=qt.get(\"EXT_blend_minmax\"))){if(t===ju)return e.MIN_EXT;if(t===Gu)return e.MAX_EXT}return t===Vh&&null!==(e=qt.get(\"WEBGL_depth_texture\"))?e.UNSIGNED_INT_24_8_WEBGL:0}console.log(\"THREE.WebGLRenderer\",vu);var k=void 0!==(t=t||{}).canvas?t.canvas:document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),B=void 0!==t.context?t.context:null,F=void 0!==t.alpha&&t.alpha,z=void 0===t.depth||t.depth,U=void 0===t.stencil||t.stencil,j=void 0!==t.antialias&&t.antialias,G=void 0===t.premultipliedAlpha||t.premultipliedAlpha,V=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,$=[],H=null,W=new Float32Array(8),X=[],q=[];this.domElement=k,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=ph,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var Y=this,Z=null,K=null,Q=null,et=-1,nt=\"\",at=null,st=new d,ct=null,ut=new d,ht=0,dt=new tt(0),ft=0,mt=k.width,gt=k.height,vt=1,yt=new d(0,0,mt,gt),bt=!1,_t=new d(0,0,mt,gt),wt=new lt,St=new fe,At=!1,Mt=!1,Pt=new v,Tt=new g,Et=new v,Lt=new v,Ot={hash:\"\",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},Nt={geometries:0,textures:0},zt={frame:0,calls:0,vertices:0,faces:0,points:0};this.info={render:zt,memory:Nt,programs:null};var Ut;try{var jt={alpha:F,depth:z,stencil:U,antialias:j,premultipliedAlpha:G,preserveDrawingBuffer:V};if(null===(Ut=B||k.getContext(\"webgl\",jt)||k.getContext(\"experimental-webgl\",jt)))throw null!==k.getContext(\"webgl\")?\"Error creating WebGL context with your selected attributes.\":\"Error creating WebGL context.\";void 0===Ut.getShaderPrecisionFormat&&(Ut.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),k.addEventListener(\"webglcontextlost\",n,!1)}catch(t){console.error(\"THREE.WebGLRenderer: \"+t)}var qt=new de(Ut);qt.get(\"WEBGL_depth_texture\"),qt.get(\"OES_texture_float\"),qt.get(\"OES_texture_float_linear\"),qt.get(\"OES_texture_half_float\"),qt.get(\"OES_texture_half_float_linear\"),qt.get(\"OES_standard_derivatives\"),qt.get(\"ANGLE_instanced_arrays\"),qt.get(\"OES_element_index_uint\")&&(Ct.MaxIndex=4294967296);var Yt=new pe(Ut,qt,t),Zt=new le(Ut,qt,N),Kt=new he,Qt=new ue(Ut,qt,Zt,Kt,Yt,N,Nt),Jt=new Ft(Ut),te=new Ht(Ut,Jt,Nt),ee=new Xt(Ut,te,zt),ie=new ce(this,Yt),re=new Wt,ne=new Gt;this.info.programs=ie.programs;var oe,ae,se,me,ge=new $t(Ut,qt,zt),ve=new Vt(Ut,qt,zt);i(),this.context=Ut,this.capabilities=Yt,this.extensions=qt,this.properties=Kt,this.state=Zt;var ye=new pt(this,Ot,ee,Yt);this.shadowMap=ye;var be=new rt(this,X),xe=new it(this,q);this.getContext=function(){return Ut},this.getContextAttributes=function(){return Ut.getContextAttributes()},this.forceContextLoss=function(){var t=qt.get(\"WEBGL_lose_context\");t&&t.loseContext()},this.getMaxAnisotropy=function(){return Yt.getMaxAnisotropy()},this.getPrecision=function(){return Yt.precision},this.getPixelRatio=function(){return vt},this.setPixelRatio=function(t){void 0!==t&&(vt=t,this.setSize(_t.z,_t.w,!1))},this.getSize=function(){return{width:mt,height:gt}},this.setSize=function(t,e,i){mt=t,gt=e,k.width=t*vt,k.height=e*vt,!1!==i&&(k.style.width=t+\"px\",k.style.height=e+\"px\"),this.setViewport(0,0,t,e)},this.setViewport=function(t,e,i,r){Zt.viewport(_t.set(t,e,i,r))},this.setScissor=function(t,e,i,r){Zt.scissor(yt.set(t,e,i,r))},this.setScissorTest=function(t){Zt.setScissorTest(bt=t)},this.getClearColor=function(){return dt},this.setClearColor=function(t,e){dt.set(t),ft=void 0!==e?e:1,Zt.buffers.color.setClear(dt.r,dt.g,dt.b,ft,G)},this.getClearAlpha=function(){return ft},this.setClearAlpha=function(t){ft=t,Zt.buffers.color.setClear(dt.r,dt.g,dt.b,ft,G)},this.clear=function(t,e,i){var r=0;(void 0===t||t)&&(r|=Ut.COLOR_BUFFER_BIT),(void 0===e||e)&&(r|=Ut.DEPTH_BUFFER_BIT),(void 0===i||i)&&(r|=Ut.STENCIL_BUFFER_BIT),Ut.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(t,e,i,r){this.setRenderTarget(t),this.clear(e,i,r)},this.resetGLState=r,this.dispose=function(){k.removeEventListener(\"webglcontextlost\",n,!1),ne.dispose()},this.renderBufferImmediate=function(t,e,i){Zt.initAttributes();var r=Kt.get(t);t.hasPositions&&!r.position&&(r.position=Ut.createBuffer()),t.hasNormals&&!r.normal&&(r.normal=Ut.createBuffer()),t.hasUvs&&!r.uv&&(r.uv=Ut.createBuffer()),t.hasColors&&!r.color&&(r.color=Ut.createBuffer());var n=e.getAttributes();if(t.hasPositions&&(Ut.bindBuffer(Ut.ARRAY_BUFFER,r.position),Ut.bufferData(Ut.ARRAY_BUFFER,t.positionArray,Ut.DYNAMIC_DRAW),Zt.enableAttribute(n.position),Ut.vertexAttribPointer(n.position,3,Ut.FLOAT,!1,0,0)),t.hasNormals){if(Ut.bindBuffer(Ut.ARRAY_BUFFER,r.normal),!i.isMeshPhongMaterial&&!i.isMeshStandardMaterial&&!i.isMeshNormalMaterial&&i.shading===Tu)for(var o=0,a=3*t.count;o8&&(d.length=8);for(var g=r.morphAttributes,f=0,m=d.length;f0&&S.renderInstances(r,C,L):S.render(C,L)}},this.compile=function(t,e){$=[],t.traverse(function(t){t.isLight&&$.push(t)}),O($,e),t.traverse(function(e){if(e.material)if(Array.isArray(e.material))for(var i=0;i=0&&e<=t.width-r&&i>=0&&i<=t.height-n&&Ut.readPixels(e,i,r,n,N(u),N(h),o):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{s&&Ut.bindFramebuffer(Ut.FRAMEBUFFER,Q)}}}}function ge(t,e){this.name=\"\",this.color=new tt(t),this.density=void 0!==e?e:25e-5}function ve(t,e,i){this.name=\"\",this.color=new tt(t),this.near=void 0!==e?e:1,this.far=void 0!==i?i:1e3}function ye(){gt.call(this),this.type=\"Scene\",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function be(t,e,i,r,n){gt.call(this),this.lensFlares=[],this.positionScreen=new g,this.customUpdateCallback=void 0,void 0!==t&&this.add(t,e,i,r,n)}function xe(t){nt.call(this),this.type=\"SpriteMaterial\",this.color=new tt(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(t)}function _e(t){gt.call(this),this.type=\"Sprite\",this.material=void 0!==t?t:new xe}function we(){gt.call(this),this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Se(t,e){var i=this;if(t=t||[],this.bones=t.slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn(\"THREE.Skeleton boneInverses is the wrong length.\"),this.boneInverses=[];for(var r=0,n=this.bones.length;r=0?(l=t(v-1e-5,m,l),p.subVectors(h,l)):(l=t(v+1e-5,m,l),p.subVectors(l,h)),m-1e-5>=0?(l=t(v,m-1e-5,l),d.subVectors(h,l)):(l=t(v,m+1e-5,l),d.subVectors(l,h)),u.crossVectors(p,d).normalize(),s.push(u.x,u.y,u.z),c.push(v,m)}}for(r=0;r.9&&o<.1&&(e<.2&&(f[t+0]+=1),i<.2&&(f[t+2]+=1),r<.2&&(f[t+4]+=1))}}function a(t){d.push(t.x,t.y,t.z)}function s(e,i){var r=3*e;i.x=t[r+0],i.y=t[r+1],i.z=t[r+2]}function c(){for(var t=new g,e=new g,i=new g,r=new g,n=new l,o=new l,a=new l,s=0,c=0;s0)&&f.push(w,S,M),(c!==i-1||u0&&c(!0),e>0&&c(!1)),this.setIndex(h),this.addAttribute(\"position\",new At(p,3)),this.addAttribute(\"normal\",new At(d,3)),this.addAttribute(\"uv\",new At(f,2))}function mi(t,e,i,r,n,o,a){di.call(this,0,t,e,i,r,n,o,a),this.type=\"ConeGeometry\",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:r,openEnded:n,thetaStart:o,thetaLength:a}}function gi(t,e,i,r,n,o,a){fi.call(this,0,t,e,i,r,n,o,a),this.type=\"ConeBufferGeometry\",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:r,openEnded:n,thetaStart:o,thetaLength:a}}function vi(t,e,i,r){Et.call(this),this.type=\"CircleGeometry\",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:r},this.fromBufferGeometry(new yi(t,e,i,r)),this.mergeVertices()}function yi(t,e,i,r){Ct.call(this),this.type=\"CircleBufferGeometry\",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:r},t=t||50,e=void 0!==e?Math.max(3,e):8,i=void 0!==i?i:0,r=void 0!==r?r:2*Math.PI;var n,o,a=[],s=[],c=[],u=[],h=new g,p=new l;for(s.push(0,0,0),c.push(0,0,1),u.push(.5,.5),o=0,n=3;o<=e;o++,n+=3){var d=i+o/e*r;h.x=t*Math.cos(d),h.y=t*Math.sin(d),s.push(h.x,h.y,h.z),c.push(0,0,1),p.x=(s[n]/t+1)/2,p.y=(s[n+1]/t+1)/2,u.push(p.x,p.y)}for(n=1;n<=e;n++)a.push(n,n+1,0);this.setIndex(a),this.addAttribute(\"position\",new At(s,3)),this.addAttribute(\"normal\",new At(c,3)),this.addAttribute(\"uv\",new At(u,2))}function bi(t){ot.call(this,{uniforms:Ll.merge([Il.lights,{opacity:{value:1}}]),vertexShader:Rl.shadow_vert,fragmentShader:Rl.shadow_frag}),this.lights=!0,this.transparent=!0,Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(t){this.uniforms.opacity.value=t}}}),this.setValues(t)}function xi(t){ot.call(this,t),this.type=\"RawShaderMaterial\"}function _i(t){nt.call(this),this.defines={STANDARD:\"\"},this.type=\"MeshStandardMaterial\",this.color=new tt(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new l(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function wi(t){_i.call(this),this.defines={PHYSICAL:\"\"},this.type=\"MeshPhysicalMaterial\",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(t)}function Si(t){nt.call(this),this.type=\"MeshPhongMaterial\",this.color=new tt(16777215),this.specular=new tt(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new l(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ch,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Ai(t){Si.call(this),this.defines={TOON:\"\"},this.type=\"MeshToonMaterial\",this.gradientMap=null,this.setValues(t)}function Mi(t){nt.call(this,t),this.type=\"MeshNormalMaterial\",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new l(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Pi(t){nt.call(this),this.type=\"MeshLambertMaterial\",this.color=new tt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=ch,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Ti(t){nt.call(this),this.type=\"LineDashedMaterial\",this.color=new tt(16777215),this.linewidth=1,this.scale=1,this.dashSize=3,this.gapSize=1,this.lights=!1,this.setValues(t)}function Ei(t,e,i){var r=this,n=!1,o=0,a=0;this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=i,this.itemStart=function(t){a++,!1===n&&void 0!==r.onStart&&r.onStart(t,o,a),n=!0},this.itemEnd=function(t){o++,void 0!==r.onProgress&&r.onProgress(t,o,a),o===a&&(n=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(t){void 0!==r.onError&&r.onError(t)}}function Ci(t){this.manager=void 0!==t?t:Gl}function Ii(t){this.manager=void 0!==t?t:Gl,this._parser=null}function Li(t){this.manager=void 0!==t?t:Gl,this._parser=null}function Ri(t){this.manager=void 0!==t?t:Gl}function Oi(t){this.manager=void 0!==t?t:Gl}function Di(t){this.manager=void 0!==t?t:Gl}function Ni(t,e){gt.call(this),this.type=\"Light\",this.color=new tt(t),this.intensity=void 0!==e?e:1,this.receiveShadow=void 0}function ki(t,e,i){Ni.call(this,t,i),this.type=\"HemisphereLight\",this.castShadow=void 0,this.position.copy(gt.DefaultUp),this.updateMatrix(),this.groundColor=new tt(e)}function Bi(t){this.camera=t,this.bias=0,this.radius=1,this.mapSize=new l(512,512),this.map=null,this.matrix=new v}function Fi(){Bi.call(this,new kt(50,1,.5,500))}function zi(t,e,i,r,n,o){Ni.call(this,t,e),this.type=\"SpotLight\",this.position.copy(gt.DefaultUp),this.updateMatrix(),this.target=new gt,Object.defineProperty(this,\"power\",{get:function(){return this.intensity*Math.PI},set:function(t){this.intensity=t/Math.PI}}),this.distance=void 0!==i?i:0,this.angle=void 0!==r?r:Math.PI/3,this.penumbra=void 0!==n?n:0,this.decay=void 0!==o?o:1,this.shadow=new Fi}function Ui(t,e,i,r){Ni.call(this,t,e),this.type=\"PointLight\",Object.defineProperty(this,\"power\",{get:function(){return 4*this.intensity*Math.PI},set:function(t){this.intensity=t/(4*Math.PI)}}),this.distance=void 0!==i?i:0,this.decay=void 0!==r?r:1,this.shadow=new Bi(new kt(90,1,.5,500))}function ji(){Bi.call(this,new Bt(-5,5,5,-5,.5,500))}function Gi(t,e){Ni.call(this,t,e),this.type=\"DirectionalLight\",this.position.copy(gt.DefaultUp),this.updateMatrix(),this.target=new gt,this.shadow=new ji}function Vi(t,e){Ni.call(this,t,e),this.type=\"AmbientLight\",this.castShadow=void 0}function $i(t,e,i,r){Ni.call(this,t,e),this.type=\"RectAreaLight\",this.position.set(0,1,0),this.updateMatrix(),this.width=void 0!==i?i:10,this.height=void 0!==r?r:10}function Hi(t,e,i,r){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new e.constructor(i),this.sampleValues=e,this.valueSize=i}function Wi(t,e,i,r){Hi.call(this,t,e,i,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function Xi(t,e,i,r){Hi.call(this,t,e,i,r)}function qi(t,e,i,r){Hi.call(this,t,e,i,r)}function Yi(t,e,i,r){if(void 0===t)throw new Error(\"track name is undefined\");if(void 0===e||0===e.length)throw new Error(\"no keyframes in track named \"+t);this.name=t,this.times=Vl.convertArray(e,this.TimeBufferType),this.values=Vl.convertArray(i,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation),this.validate(),this.optimize()}function Zi(t,e,i,r){Yi.call(this,t,e,i,r)}function Ki(t,e,i,r){Hi.call(this,t,e,i,r)}function Qi(t,e,i,r){Yi.call(this,t,e,i,r)}function Ji(t,e,i,r){Yi.call(this,t,e,i,r)}function tr(t,e,i,r){Yi.call(this,t,e,i,r)}function er(t,e,i){Yi.call(this,t,e,i)}function ir(t,e,i,r){Yi.call(this,t,e,i,r)}function rr(t,e,i,r){Yi.apply(this,arguments)}function nr(t,e,i){this.name=t,this.tracks=i,this.duration=void 0!==e?e:-1,this.uuid=xl.generateUUID(),this.duration<0&&this.resetDuration(),this.optimize()}function or(t){this.manager=void 0!==t?t:Gl,this.textures={}}function ar(t){this.manager=void 0!==t?t:Gl}function sr(){this.onLoadStart=function(){},this.onLoadProgress=function(){},this.onLoadComplete=function(){}}function cr(t){\"boolean\"==typeof t&&(console.warn(\"THREE.JSONLoader: showStatus parameter has been removed from constructor.\"),t=void 0),this.manager=void 0!==t?t:Gl,this.withCredentials=!1}function ur(t){this.manager=void 0!==t?t:Gl,this.texturePath=\"\"}function hr(t,e,i,r,n){var o=.5*(r-e),a=.5*(n-i),s=t*t;return(2*i-2*r+o+a)*(t*s)+(-3*i+3*r-2*o-a)*s+o*t+i}function lr(t,e){var i=1-t;return i*i*e}function pr(t,e){return 2*(1-t)*t*e}function dr(t,e){return t*t*e}function fr(t,e,i,r){return lr(t,e)+pr(t,i)+dr(t,r)}function mr(t,e){var i=1-t;return i*i*i*e}function gr(t,e){var i=1-t;return 3*i*i*t*e}function vr(t,e){return 3*(1-t)*t*t*e}function yr(t,e){return t*t*t*e}function br(t,e,i,r,n){return mr(t,e)+gr(t,i)+vr(t,r)+yr(t,n)}function xr(){this.arcLengthDivisions=200}function _r(t,e){xr.call(this),this.v1=t,this.v2=e}function wr(){xr.call(this),this.curves=[],this.autoClose=!1}function Sr(t,e,i,r,n,o,a,s){xr.call(this),this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=r,this.aStartAngle=n,this.aEndAngle=o,this.aClockwise=a,this.aRotation=s||0}function Ar(t){xr.call(this),this.points=void 0===t?[]:t}function Mr(t,e,i,r){xr.call(this),this.v0=t,this.v1=e,this.v2=i,this.v3=r}function Pr(t,e,i){xr.call(this),this.v0=t,this.v1=e,this.v2=i}function Tr(t){wr.call(this),this.currentPoint=new l,t&&this.fromPoints(t)}function Er(){Tr.apply(this,arguments),this.holes=[]}function Cr(){this.subPaths=[],this.currentPath=null}function Ir(t){this.data=t}function Lr(t){this.manager=void 0!==t?t:Gl}function Rr(t){this.manager=void 0!==t?t:Gl}function Or(){this.type=\"StereoCamera\",this.aspect=1,this.eyeSep=.064,this.cameraL=new kt,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new kt,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Dr(t){kt.call(this),this.enabled=!1,this.cameras=t||[]}function Nr(){gt.call(this),this.type=\"AudioListener\",this.context=Kl.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null}function kr(t){gt.call(this),this.type=\"Audio\",this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType=\"empty\",this.filters=[]}function Br(t){kr.call(this,t),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function Fr(t,e){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=void 0!==e?e:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}function zr(t,e,i){this.binding=t,this.valueSize=i;var r,n=Float64Array;switch(e){case\"quaternion\":r=this._slerp;break;case\"string\":case\"bool\":n=Array,r=this._select;break;default:r=this._lerp}this.buffer=new n(4*i),this._mixBufferRegion=r,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}function Ur(t,e,i){var r=i||jr.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,r)}function jr(t,e,i){this.path=e,this.parsedPath=i||jr.parseTrackName(e),this.node=jr.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}function Gr(t){var e=arguments;this.uuid=xl.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var i={};this._indicesByUUID=i;for(var r=0,n=arguments.length;r!==n;++r)i[e[r].uuid]=r;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var o=this;this.stats={objects:{get total(){return o._objects.length},get inUse(){return this.total-o.nCachedObjects_}},get bindingsPerObject(){return o._bindings.length}}}function Vr(t,e,i){this._mixer=t,this._clip=e,this._localRoot=i||null;for(var r=e.tracks,n=r.length,o=new Array(n),a={endingStart:sl,endingEnd:sl},s=0;s!==n;++s){var c=r[s].createInterpolant(null);o[s]=c,c.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(n),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=al,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}function $r(t){this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function Hr(t){\"string\"==typeof t&&(console.warn(\"THREE.Uniform: Type parameter is no longer needed.\"),t=arguments[1]),this.value=t}function Wr(){Ct.call(this),this.type=\"InstancedBufferGeometry\",this.maxInstancedCount=void 0}function Xr(t,e,i,r){this.uuid=xl.generateUUID(),this.data=t,this.itemSize=e,this.offset=i,this.normalized=!0===r}function qr(t,e){this.uuid=xl.generateUUID(),this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function Yr(t,e,i){qr.call(this,t,e),this.meshPerAttribute=i||1}function Zr(t,e,i){_t.call(this,t,e),this.meshPerAttribute=i||1}function Kr(t,e,i,r){this.ray=new dt(t,e),this.near=i||0,this.far=r||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn(\"THREE.Raycaster: params.PointCloud has been renamed to params.Points.\"),this.Points}}})}function Qr(t,e){return t.distance-e.distance}function Jr(t,e,i,r){if(!1!==t.visible&&(t.raycast(e,i),!0===r))for(var n=t.children,o=0,a=n.length;o1?c.pop().toLowerCase():\"\",h=e.match(/^(.+):\\/\\/(.+)$/);h&&(r=h[1].toLowerCase(),e=h[2]);var l=e.substring(0,e.lastIndexOf(\"/\")+1);if(n.includes(u)){i=u;var p=e.length-u.length-1;u=e.substr(0,p).split(\".\").pop().toLowerCase();var d=s.length-u.length-1;s=s.substr(0,d)}else i=!1;return{path:e,name:a,ext:u,base:s,dir:l,compressed:i,protocol:r,src:t}}function bn(t,e,i){var r,n,o,a=null,s=0;i||(i={});var c=function(){s=!1===i.leading?0:Date.now(),a=null,o=t.apply(r,n),a||(r=n=null)};return function(){var u=Date.now();s||!1!==i.leading||(s=u);var h=e-(u-s);return r=this,n=arguments,h<=0||h>e?(a&&(clearTimeout(a),a=null),s=u,o=t.apply(r,n),a||(r=n=null)):a||!1===i.trailing||(a=setTimeout(c,h)),o}}function xn(t,e){return te?1:0}function _n(t,e,i){void 0===i&&(i=xn);for(var r=0,n=t.length-1;r<=n;){var o=r+n>>1,a=i(e,t[o]);if(a>0)r=o+1;else{if(!(a<0))return o;n=o-1}}return-r-1}function wn(t,e){var i=t.length-1;if(t[i]>1;t[n]>=e?i=n-1:r=n+1}return i+1}function Sn(t,e){if(t[0]>e)return-1;for(var i=0,r=t.length-1;i<=r;){var n=i+r>>1;t[n]>e?r=n-1:i=n+1}return i-1}function An(t,e,i){var r=wn(t,e),n=Sn(t,i);return-1===r||-1===n||r>n?0:n-r+1}function Mn(t){return t.sort().filter(function(t,e,i){return 0===e||t!==i[e-1]})}function Pn(t){if(t.length>28672){for(var e=[],i=0;i65535?Uint32Array:Uint16Array)(t)}function In(t,e){return t instanceof e?t:new e(t)}function Ln(t,e){return void 0===t?t=new e:Array.isArray(t)&&(t=(new e).fromArray(t)),t}function Rn(t){return Ln(t,l)}function On(t){return Ln(t,g)}function Dn(t){return Ln(t,v)}function Nn(t){return Ln(t,m)}function kn(t){return In(t,Float32Array)}function Bn(t){return dn(t,\"\").toString().toLowerCase()}function Fn(t){var e=t;return t.forEach(function(t){t.__deps&&Array.prototype.push.apply(e,Fn(t.__deps))}),e}function zn(t){return Mn(Fn(t)).map(function(t){return t.toString()}).join(\"\\n\\n\\n\")}function Un(t){var e=t.data.__name,i=t.data.__postId;if(void 0===e)console.error(\"message __name undefined\");else if(void 0===self.func)console.error(\"worker func undefined\",e);else{var r=function(t,e){t=t||{},void 0!==i&&(t.__postId=i);try{self.postMessage(t,e)}catch(e){console.error(\"self.postMessage:\",e),self.postMessage(t)}};self.func(t,r)}}function jn(t,e){var i=\"'use strict';\\n\\n\"+zn(e);return i+=\"\\n\\n\\nself.func = \"+t.toString()+\";\",i+=\"\\n\\n\\nself.onmessage = \"+Un.toString()+\";\",new Blob([i],{type:\"application/javascript\"})}function Gn(t){return.01745*t}function Vn(t){return 57.29578*t}function $n(){for(var t,e=0,i=0;i<36;i++)8===i||13===i||18===i||23===i?Ld[i]=\"-\":14===i?Ld[i]=\"4\":(e<=2&&(e=33554432+16777216*Math.random()|0),t=15&e,e>>=4,Ld[i]=Id[19===i?3&t|8:t]);return Ld.join(\"\")}function Hn(t){return t-=t>>1&1431655765,16843009*((t=(858993459&t)+(t>>2&858993459))+(t>>4)&252645135)>>24}function Wn(t,e,i){return(t-e)/(i-e)}function Xn(t,e,i){return Math.max(e,Math.min(i,t))}function qn(t){return Xn(t,0,100)}function Yn(t){return Xn(t,0,1)}function Zn(t,e,i){return t+(e-t)*i}function Kn(t,e,i,r,n,o){var a=(i-t)*o,s=(r-e)*o,c=n*n;return(2*e-2*i+a+s)*(n*c)+(-3*e+3*i-2*a-s)*c+a*n+e}function Qn(t,e,i){return(i=Yn(Wn(i,t,e)))*i*(3-2*i)}function Jn(t,e,i){if(t>e)return t;var r=t/e;return((2*i-e)*r+(2*e-3*i))*r*r+i}function to(t,e,i,r,n){this._listener=e,this._isOnce=i,this.context=r,this._signal=t,this._priority=n||0}function eo(t,e){if(\"function\"!=typeof t)throw new Error(\"listener is a required param of {fn}() and should be a Function.\".replace(\"{fn}\",e))}function io(){this._bindings=[],this._prevParams=null;var t=this;this.dispatch=function(){io.prototype.dispatch.apply(t,arguments)}}function ro(t,e){if(void 0===e.atomname&&void 0===e.element&&void 0===e.altloc&&void 0===e.atomindex&&void 0===e.keyword&&void 0===e.inscode&&void 0===e.resname&&void 0===e.sstruc&&void 0===e.resno&&void 0===e.chainname&&void 0===e.model)return-1;if(void 0!==e.keyword){if(e.keyword===Nd.BACKBONE&&!t.isBackbone())return!1;if(e.keyword===Nd.SIDECHAIN&&!t.isSidechain())return!1;if(e.keyword===Nd.BONDED&&!t.isBonded())return!1;if(e.keyword===Nd.RING&&!t.isRing())return!1;if(e.keyword===Nd.HETERO&&!t.isHetero())return!1;if(e.keyword===Nd.PROTEIN&&!t.isProtein())return!1;if(e.keyword===Nd.NUCLEIC&&!t.isNucleic())return!1;if(e.keyword===Nd.RNA&&!t.isRna())return!1;if(e.keyword===Nd.DNA&&!t.isDna())return!1;if(e.keyword===Nd.POLYMER&&!t.isPolymer())return!1;if(e.keyword===Nd.WATER&&!t.isWater())return!1;if(e.keyword===Nd.HELIX&&!t.isHelix())return!1;if(e.keyword===Nd.SHEET&&!t.isSheet())return!1;if(e.keyword===Nd.TURN&&!t.isTurn())return!1;if(e.keyword===Nd.ION&&!t.isIon())return!1;if(e.keyword===Nd.SACCHARIDE&&!t.isSaccharide())return!1}if(void 0!==e.atomname&&e.atomname!==t.atomname)return!1;if(void 0!==e.element&&e.element!==t.element)return!1;if(void 0!==e.altloc&&e.altloc!==t.altloc)return!1;if(void 0!==e.atomindex&&_n(e.atomindex,t.index)<0)return!1;if(void 0!==e.resname)if(Array.isArray(e.resname)){if(!e.resname.includes(t.resname))return!1}else if(e.resname!==t.resname)return!1;if(void 0!==e.sstruc&&e.sstruc!==t.sstruc)return!1;if(void 0!==e.resno)if(Array.isArray(e.resno)&&2===e.resno.length){if(e.resno[0]>t.resno||e.resno[1]t.resno||e.resno[1]=0&&e<=7&&Ef[t]?Ef[t][e]:Array(e+1).join(t)}function bo(t,e){function i(){d=[],n(),o(),a()}function r(t,e){return void 0!==t?t:e}function n(){d.push(go(\"TITEL %-74s\",t.name))}function o(){p.forEach(function(t){d.push(go(\"REMARK %-73s\",t))}),t.trajectory&&(d.push(go(\"REMARK %-73s\",\"Trajectory '\"+t.trajectory.name+\"'\")),d.push(go(\"REMARK %-73s\",\"Frame \"+t.trajectory.frame)))}function a(){var e=1,i=1;t.eachModel(function(t){d.push(go(\"MODEL %-74d\",i++)),t.eachAtom(function(t){var i=t.hetero?m:f,n=l?e:t.serial,o=t.atomname;1===o.length&&(o=\" \"+o),d.push(go(i,n,o,t.resname,r(t.chainname,\" \"),t.resno,t.x,t.y,t.z,r(t.occurence,1),r(t.bfactor,0),r(t.segid,\"\"),r(t.element,\"\"))),e+=1}),d.push(go(\"%-80s\",\"ENDMDL\")),i+=1}),d.push(go(\"%-80s\",\"END\"))}function s(){return i(),d.join(\"\\n\")}function c(){return new Blob([s()],{type:\"text/plain\"})}function u(t,e){var i=(t=t||\"structure\")+\".\"+(e=e||\"pdb\");vn(c(),i)}var h=Object.assign({},e),l=void 0===h.renumberSerial||h.renumberSerial,p=h.remarks||[];Array.isArray(p)||(p=[p]);var d,f=\"ATOM %5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s\",m=\"HETATM%5d %-4s %3s %1s%4d %8.3f%8.3f%8.3f%6.2f%6.2f %4s%2s\";this.getString=s,this.getBlob=c,this.download=u}function xo(){this.signals={updated:new io},this.begin(),this.maxDuration=-1/0,this.minDuration=1/0,this.avgDuration=14,this.lastDuration=1/0,this.prevFpsTime=0,this.lastFps=1/0,this.lastFrames=1,this.frames=0,this.count=0}function _o(t){if(void 0===t)return\"\";var e=[];for(var i in t){var r=t[i];!1!==r&&e.push(\"#define \"+i+\" \"+r)}return e.join(\"\\n\")+\"\\n\"}function wo(t,e){e=e||{};var i=t+\"|\";for(var r in e)i+=r+\":\"+e[r];if(!Lf[i]){var n=_o(e),o=mf.get(\"shader/\"+t);if(!o)throw\"empty shader, '\"+t+\"'\";o=o.replace(If,function(t,e){var i=\"shader/chunk/\"+e+\".glsl\",r=mf.get(i)||Rl[e];return r||\"\"}),Lf[i]=n+o}return Lf[i]}function So(t,e,i,r){function n(e){var r=e%u,n=Math.floor(e/u),o=r*m,a=n*g;i.camera.setViewOffset(m*u,g*u,o,a,m,g),i.render(),h?v.drawImage(t.domElement,Math.floor(o/2),Math.floor(a/2),Math.ceil(m/2),Math.ceil(g/2)):v.drawImage(t.domElement,Math.floor(o),Math.floor(a),Math.ceil(m),Math.ceil(g)),\"function\"==typeof l&&l(e+1,d,!1)}function o(){i.setSampling(y),i.camera.view=null,\"function\"==typeof p&&p(d+1,d,!1)}function a(){for(var t=0;t<=d;++t)t===d?o():n(t)}function s(){function t(){e===d?o():n(e),e+=1}for(var e=0,i=0;i<=d;++i)setTimeout(t,0,i)}var c=r||{},u=void 0!==c.factor?c.factor:2,h=void 0!==c.antialias&&c.antialias,l=c.onProgress,p=c.onFinish;h&&(u*=2);var d=u*u,f=document.createElement(\"canvas\"),m=i.width,g=i.height;h?(f.width=m*u/2,f.height=g*u/2):(f.width=m*u,f.height=g*u);var v=f.getContext(\"2d\"),y=i.sampleLevel;i.setSampling(-1),this.render=a,this.renderAsync=s,this.canvas=f}function Ao(t,e,i,r,n){i=i||1,r=r||0;var o,a,s=n?n.length:t.length/i,c=0,u=0;if(n)for(a=0;ae?1:t=u&&e(t[o],l)>0;)t[o+1]=t[o],--o;t[o+1]=l}if(-1===c)break;h=s[c--],u=s[c--]}else{for(a=h,n(u+h>>1,o=u+1),e(t[u],t[h])>0&&n(u,h),e(t[o],t[h])>0&&n(o,h),e(t[u],t[o])>0&&n(u,o),l=t[o];;){do{o++}while(e(t[o],l)<0);do{a--}while(e(t[a],l)>0);if(a=a-u?(s[++c]=o,s[++c]=h,h=a-1):(s[++c]=u,s[++c]=a-1,u=o)}return t}function No(t){for(var e=-1/0,i=0,r=t.length;ie&&(e=t[i]);return e}function ko(t){for(var e=1/0,i=0,r=t.length;i=0;a--){for(o=h-1;o>=0;o--)if(c=4*(a*h+o),l[c]!==e||l[c+1]!==i||l[c+2]!==r||l[c+3]!==n){s=!0;break}if(s)break}var f=a;for(s=!1,o=h-1;o>=0;o--){for(a=u-1;a>=0;a--)if(c=4*(a*h+o),l[c]!==e||l[c+1]!==i||l[c+2]!==r||l[c+3]!==n){s=!0;break}if(s)break}var m=o,g=document.createElement(\"canvas\");return g.width=m-d,g.height=f-p,g.getContext(\"2d\").drawImage(t,d,p,g.width,g.height,0,0,g.width,g.height),g}function jo(t,e){function i(e){var i=s;c&&(i*=2),e&&(i=1/i),t.scene.traverse(function(t){var e=t.material;e&&e.linewidth&&(e.linewidth*=i),e&&e.uniforms&&e.uniforms.size&&void 0===e.uniforms.size.__seen&&(e.uniforms.size.value*=i,e.uniforms.size.__seen=!0)}),t.scene.traverse(function(t){var e=t.material;e&&e.uniforms&&e.uniforms.size&&delete e.uniforms.size.__seen})}function r(t){if(a){var e=d;return Uo(t,0|(u?0:255*e.r),0|(u?0:255*e.g),0|(u?0:255*e.b),0|(u?0:255))}return t}function n(t,e,i){\"function\"==typeof o.onProgress&&o.onProgress(t,e,i)}var o=e||{},a=void 0!==o.trim&&o.trim,s=void 0!==o.factor?o.factor:1,c=void 0!==o.antialias&&o.antialias,u=void 0!==o.transparent&&o.transparent,h=t.renderer,l=t.camera,p=h.getClearAlpha(),d=h.getClearColor();return new Promise(function(e){function o(o,s){r(a.canvas).toBlob(function(r){h.setClearAlpha(p),i(!0),t.requestRender(),n(s,s,!0),e(r)},\"image/png\")}var a=new So(h,l,t,{factor:s,antialias:c,onProgress:n,onFinish:o});h.setClearAlpha(u?0:1),i(),a.renderAsync()})}function Go(t,e){var i;t.traverseVisible(function(t){if(t instanceof Le&&t.sortParticles){var r=t.geometry.attributes,n=r.position.count;if(0!==n){Uf.multiplyMatrices(e.matrixWorldInverse,t.matrixWorld),jf.multiplyMatrices(e.projectionMatrix,Uf);var o,a,s,c;for(t.userData.sortData?(o=t.userData.sortData,s=o.__zArray,a=o.__sortArray,c=o.__cmpFn):(s=new Float32Array(n),a=new Uint32Array(n),o={__zArray:s,__sortArray:a,__cmpFn:c=function(t,e){var i=s[t],r=s[e];return i>r?1:i500&&!G&&V<3&&-1!==V){var e=V;V=3,U=!0,R(),G=!0,V=e,t.Debug&&cf.log(\"rendered still frame\")}requestAnimationFrame(_)}function w(t,e){t*=window.devicePixelRatio,e*=window.devicePixelRatio;var i,r,n,o=af?$f:Hf;R(!0),ut.readRenderTargetPixels(lt,t,e,1,1,o),i=af?Math.round(255*o[0])<<16&16711680|Math.round(255*o[1])<<8&65280|255&Math.round(255*o[2]):o[0]<<16|o[1]<<8|o[2];var a=Math.round(o[3]),s=nt.getObjectById(a);return s&&(r=s.userData.instance,n=s.userData.buffer.picking),{pid:i,instance:r,picker:n}}function S(){U||(performance.now()-X.startTime>22&&(X.begin(),G=!1),U=!0,requestAnimationFrame(function(){R(),X.update()}))}function A(){var t=Gn(q.fov),e=2*Math.tan(t/2)*-Z.position.z;Y.zoom=k/e}function M(){var t=W;($=St.copy(Z.position).length())||(Z.position.set(0,0,t.cameraZ),$=Math.abs(t.cameraZ)),H=Math.max(10,.5*wt),((H+=bt.getCenter(St).length())===1/0||H===-1/0||isNaN(H))&&(H=50);var e=(50-t.clipNear)/50,i=-(50-t.clipFar)/50;Z.near=$-H*e,Z.far=$+H*i;var r=(50-t.fogNear)/50,n=-(50-t.fogFar)/50,o=K.fog;o.color.set(t.fogColor),o.near=$-H*r,o.far=$+H*n,\"PerspectiveCamera\"===Z.type?(Z.near=Math.max(.1,t.clipDist,Z.near),Z.far=Math.max(1,Z.far),o.near=Math.max(.1,o.near),o.far=Math.max(1,o.far)):\"OrthographicCamera\"===Z.type&&0===t.clipNear&&t.clipDist>0&&$+Z.zoom>2*-t.clipDist&&(Z.near+=Z.zoom+t.clipDist)}function P(){Z.updateMatrix(),Z.updateMatrixWorld(!0),Z.matrixWorldInverse.getInverse(Z.matrixWorld),Z.updateProjectionMatrix(),Vo(K,Z,ut,$,H),Go(K,Z)}function T(t,e,i,r){rt.visible=t,nt.visible=e,at.visible=i,ct.visible=r}function E(){St.copy(Z.position).setLength(100*wt),Q.position.copy(Z.position).add(St),Q.color.set(W.lightColor),Q.intensity=W.lightIntensity,J.color.set(W.ambientColor),J.intensity=W.ambientIntensity}function C(){ut.clearTarget(lt),T(!1,!0,!1,!1),ut.render(K,Z,lt),x(),ut.setRenderTarget(null)}function I(e){e?ut.clearTarget(e):ut.clear(),T(!1,!1,!0,!1),ut.render(K,Z,e),e?ut.clearTarget(e,!1,!0,!1):ut.clearDepth(),x(),T(!0,!1,!1,t.Debug),ut.render(K,Z,e),x()}function L(){var t=Bf[Math.max(0,Math.min(V,5))],e=1/t.length;ft.tForeground.value=pt.texture;for(var i=pt.width,r=pt.height,n=0;n0?L():I(),j=t,z=!1,U=!1}function O(){cf.log(\"scene cleared\"),K.remove(et),i(),ut.clear()}var D,N,k,B={ticked:new io};if((D=\"string\"==typeof e?document.getElementById(e):e instanceof Element?e:document.createElement(\"div\"))===document.body)N=window.innerWidth||1,k=window.innerHeight||1;else{var F=D.getBoundingClientRect();N=F.width||1,k=F.height||1}var z,U,j,G,V,$,H,W;!function(){W={fogColor:new tt(0),fogNear:50,fogFar:100,backgroundColor:new tt(0),cameraType:\"perspective\",cameraFov:40,cameraZ:-80,clipNear:0,clipFar:100,clipDist:10,lightColor:new tt(14540253),lightIntensity:1,ambientColor:new tt(14540253),ambientIntensity:.2,sampleLevel:0}}();var X;!function(){X=new xo}();var q,Y,Z;!function(){var t=new g(0,0,0);(q=new kt(W.cameraFov,N/k)).position.z=W.cameraZ,q.lookAt(t),(Y=new Bt(N/-2,N/2,k/2,k/-2)).position.z=W.cameraZ,Y.lookAt(t),(Z=\"orthographic\"===W.cameraType?Y:q).updateProjectionMatrix()}();var K,Q,J,et,it,rt,nt,at,ct;i();var ut,ht,lt,pt,dt,ft,mt,gt,vt;if(!1===function(){var t=window.devicePixelRatio;try{ut=new me({preserveDrawingBuffer:!0,alpha:!0,antialias:!0})}catch(t){return D.innerHTML=uf,!1}ut.setPixelRatio(t),ut.setSize(N,k),ut.autoClear=!1,ut.sortObjects=!0,co(ut.extensions.get(\"EXT_frag_depth\")),ut.extensions.get(\"OES_element_index_uint\"),so(ut.extensions.get(\"OES_texture_float\")&&ut.extensions.get(\"WEBGL_color_buffer_float\")||\"Chrome\"===nf&&ut.extensions.get(\"OES_texture_float\")),D.appendChild(ut.domElement);var e=N*t,i=k*t;ut.extensions.get(\"OES_texture_float\"),ht=ut.extensions.get(\"OES_texture_half_float\"),ut.extensions.get(\"WEBGL_color_buffer_float\"),(lt=new f(e,i,{minFilter:Ph,magFilter:Ph,stencilBuffer:!1,format:Wh,type:af?Fh:Rh})).texture.generateMipmaps=!1,pt=new f(e,i,{minFilter:Ch,magFilter:Ch,format:Wh}),dt=new f(e,i,{minFilter:Ph,magFilter:Ph,format:Wh,type:of?Rh:ht?zh:af?Fh:Rh}),mt=new ot({uniforms:ft={tForeground:{type:\"t\",value:null},scale:{type:\"f\",value:1}},vertexShader:wo(\"Quad.vert\"),fragmentShader:wo(\"Quad.frag\"),premultipliedAlpha:!0,transparent:!0,blending:Du,depthTest:!1,depthWrite:!1}),gt=new Bt(-1,1,1,-1,0,1),vt=(new ye).add(new It(new Ot(2,2),mt))}())return this.container=D,void cf.error(\"Viewer: could not initialize renderer\");var yt,bt=new st,xt=new g,wt=0;!function(){var t=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),e=new Float32Array(24),i=new Ct;i.setIndex(new _t(t,1)),i.addAttribute(\"position\",new _t(e,3));var r=new ot({uniforms:{uColor:{value:new tt(\"skyblue\")}},vertexShader:wo(\"BasicLine.vert\"),fragmentShader:wo(\"BasicLine.frag\"),linewidth:2});yt=new Ee(i,r),ct.add(yt)}(),p(),l();var St=new g,At={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};this.container=D,this.stats=X,this.signals=B,this.rotationGroup=et,this.translationGroup=it,this.add=n,this.remove=a,this.clear=O,this.getImage=c,this.makeImage=u,this.setLight=h,this.setFog=l,this.setBackground=p,this.setSampling=d,this.setCamera=m,this.setClip=v,this.setSize=y,this.handleResize=b,this.pick=w,this.requestRender=S,this.render=R,this.animate=_,this.updateZoom=A,this.updateHelper=r,this.renderer=ut,this.scene=K,this.perspectiveCamera=q,this.boundingBox=bt,this.updateBoundingBox=function(){s(),t.Debug&&r()},Object.defineProperties(this,{camera:{get:function(){return Z}},width:{get:function(){return N}},height:{get:function(){return k}},sampleLevel:{get:function(){return V}}})}function Wo(t){var e=t.touches[0].pageX-t.touches[1].pageX,i=t.touches[0].pageY-t.touches[1].pageY;return Math.sqrt(e*e+i*i)}function Xo(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){var e=t.which;if(2===e)return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<n&&(n=u),h>o&&(o=h),l>a&&(a=l)}return[ia([e,i,r]),ia([n,o,a])]}function Jo(t,e){for(var i=0,r=e.length;i>>1&1431655765,16843009*((t=(858993459&t)+(t>>>2&858993459))+(t>>>4)&252645135)>>>24}function ga(t,e){this.type=t,this.scale=e||1,this.max=10}function va(t,e){this.cols=t,this.rows=e,this.size=this.cols*this.rows,this.data=new Float32Array(this.size)}function ya(t,e){for(var i=0,r=0,n=e.rows,o=e.cols,a=0,s=0,c=0,u=e.data,h=t.data;ie?(e/=t,t*Math.sqrt(1+e*e)):e>0?(t/=e,e*Math.sqrt(1+t*t)):0}function Ea(t,e,i,r,n,o,a,s){for(var c=2*kg,u=Bg,h=0,l=0,p=0,d=0,f=Math.max(o,30),m=0,g=0,v=0,y=0,b=0,x=0,_=0,w=0,S=0,A=0,M=0,P=0,T=0,E=0,C=0,I=0,L=0,R=4660,O=0,D=0,N=0,k=new Float64Array(a<<3);h>16)?D:-D,t[h*e+p]=O;for(d=0;d<2;d++)for(l=0;l>o),d=Math.max(0,e-r-c>>o),f=Math.max(0,i-r-u>>o),y=Math.min(h,t+r-s>>o),x=Math.min(l,e+r-c>>o),_=Math.min(p,i+r-u>>o),w=[],S=a;S<=y;++S)for(var A=d;A<=x;++A)for(var P=f;P<=_;++P){var E=b[(S*l+A)*p+P];if(E>0)for(var I=E-1,L=T[I],R=L+M[I],O=L;O>o),l=1+(a.max.y-c>>o),p=1+(a.max.z-u>>o),d=h*l*p,f=t.count,m=t.x,g=t.y,v=t.z,y=0,b=new Uint32Array(d),x=new Int32Array(f);for(r=0;r>o,w=g[r]-c>>o,S=v[r]-u>>o,A=(_*l+w)*p+S;1===(b[A]+=1)&&(y+=1),x[r]=A}var M=new Uint16Array(y);for(r=0,n=0;r0&&(b[r]=n+1,M[n]=P,n+=1)}var T=new Uint32Array(y);for(r=1;r0){var L=I-1;C[T[L]+E[L]]=r,E[L]+=1}}this.within=i}function za(e){var i=0,r=0,n={},o={},a=URL.createObjectURL(hf.get(e)),s=new window.Worker(a);hf.activeWorkerCount+=1,s.onmessage=function(r){i-=1;var a=r.data.__postId;t.Debug&&cf.timeEnd(\"Worker.postMessage \"+e+\" #\"+a),n[a]&&n[a].call(s,r),delete n[a],delete o[a]},s.onerror=function(t){if(i-=1,t.data){var r=t.data.__postId;o[r]?o[r].call(s,t):cf.error(\"Worker.onerror\",r,e,t),delete n[r],delete o[r]}else cf.error(\"Worker.onerror\",e,t)},this.name=e,this.post=function(a,c,u,h){n[r]=u,o[r]=h,(a=a||{}).__name=e,a.__postId=r,a.__debug=t.Debug,t.Debug&&cf.time(\"Worker.postMessage \"+e+\" #\"+r);try{s.postMessage(a,c)}catch(t){cf.error(\"worker.post:\",t),s.postMessage(a)}return i+=1,r+=1,this},this.terminate=function(){s?(s.terminate(),URL.revokeObjectURL(a),hf.activeWorkerCount-=1):cf.log(\"no worker to terminate\")},Object.defineProperties(this,{postCount:{get:function(){return r}},pending:{get:function(){return i}}})}function Ua(t,e){e=Math.min(8,e||2);var i=[],r=0;this.name=t,this.maxCount=e,this.post=function(t,e,i,r){return this.getNextWorker().post(t,e,i,r),this},this.terminate=function(){i.forEach(function(t){t.terminate()})},this.getNextWorker=function(){for(var n,o=1/0,a=0;a=r){n=new za(t),i.push(n),r+=1;break}var s=i[a];if(0===s.pending){n=s;break}s.pending=x){N=v,R=!0;break}if(R)break}if(R)break}for(R=!1,g=o;g=x){D=g,R=!0;break}if(R)break}if(R)break}for(R=!1,m=n;m=x){O=m,R=!0;break}if(R)break}if(R)break}for(R=!1,v=h;v>=s;--v){for(g=u;g>=o;--g){for(m=c;m>=n;--m)if(p=e*i*v+e*g+m,t[p]>=x){F=v,R=!0;break}if(R)break}if(R)break}for(R=!1,g=u;g>=o;--g){for(v=F;v>=s;--v){for(m=c;m>=n;--m)if(p=e*i*v+e*g+m,t[p]>=x){B=g,R=!0;break}if(R)break}if(R)break}for(R=!1,m=c;m>=n;--m){for(g=B;g>=o;--g){for(v=F;v>=s;--v)if(p=e*i*v+e*g+m,t[p]>=x){k=m,R=!0;break}if(R)break}if(R)break}_?(n=Math.max(0,O-1),o=Math.max(0,D-1),s=Math.max(0,N-1),c=Math.min(e-1,k+1),u=Math.min(i-1,B+1),h=Math.min(r-1,F+1)):(n=Math.max(1,O-1),o=Math.max(1,D-1),s=Math.max(1,N-1),c=Math.min(e-2,k+1),u=Math.min(i-2,B+1),h=Math.min(r-2,F+1))}var z=15;for(v=s;vs&&(s=e);var a=o-n;if(0===a)return-1;var u=4*l;if(l+=1,1===a)return h[u]=n,h[u+1]=-1,h[u+2]=-1,h[u+3]=r,u;var d=n+Math.floor(a/2);p=e%3;for(var f,m,g,v,y,b=n,x=o-1;x>b;){for(v=t[3*c[g=b+x>>1]+p],m=c[g],c[g]=c[x],c[x]=m,y=b,f=b;fn&&s.pop()}var p,d,f=r(u)%3,m=3*c[h[u]],g=[t[m+0],t[m+1],t[m+2]],v=e(i,g),y=h[u+1],b=h[u+2];if(-1===b&&-1===y)return void((s.size()t[3*c[h[e]]+n])throw\"left child is > parent!\";r+=o(a,i+1)}if(-1!==s){if(t[3*c[h[s]]+n]0&&(e=\":\"+Mn(t).join(\" OR :\")),new Kd(e)}function rs(e,i){if(i){t.Debug&&cf.time(\"assignSecondaryStructure\");var r=[];e.eachModel(function(t){t.eachChain(function(t){r.push(t.chainname)})});var n=r.slice().sort(),o=[];n.forEach(function(t){o.push(r.indexOf(t))});var a=i.helices;(a=a.filter(function(t){return _n(n,t[0])>=0})).sort(function(t,e){var i=t[0],r=e[0],a=t[1],s=e[1];if(i===r)return a===s?0:a=0})).sort(function(t,e){var i=t[0],r=e[0];if(i===r)return 0;var a=_n(n,i),s=_n(n,r);return o[a]=n;)e=Math.floor(e/n),o+=r[e%n],i+=1;return i>=5&&cf.warn(\"chainname overflow\"),o},h=e.getAtomProxy(),l=e.getAtomProxy(),p=0,d=0,f=0,m=0,g=[];1===s.count?g.push({mIndex:0,chainname:\"A\",rStart:0,rCount:1}):e.eachResidueN(2,function(t,e){var i=!1,r=t.backboneType,n=e.backboneType,o=lg;m=t.index,t.modelIndex!==e.modelIndex?i=!0:t.moleculeType!==e.moleculeType?i=!0:r!==o&&r===n&&(h.index=t.backboneEndAtomIndex,l.index=e.backboneStartAtomIndex,h.connectedTo(l)||(i=!0)),i||e.index!==s.count-1||(i=!0,m=e.index),i&&(g.push({mIndex:d,chainname:u(p),rStart:f,rCount:m-f+1}),p+=1,t.modelIndex!==e.modelIndex&&(p=0,d+=1),e.index===s.count-1&&m!==e.index&&g.push({mIndex:d,chainname:u(p),rStart:s.count-1,rCount:1}),f=e.index,m=e.index)}),a.count=0,g.forEach(function(t){c(t.mIndex,t.chainname,t.rStart,t.rCount)});var v=0;e.eachModel(function(t){o.chainOffset[t.index]=v,o.chainCount[t.index]-=1,v+=o.chainCount[t.index]})}t.Debug&&cf.timeEnd(\"calculateChainnames\")}function os(e){t.Debug&&cf.time(\"calculateBonds\"),cs(e),us(e),t.Debug&&cf.timeEnd(\"calculateBonds\")}function as(e){var i=e.structure,r=i.getAtomProxy(),n=i.getAtomProxy(),o=e.atomCount,a=e.atomOffset,s=a+o-1;if(o>500)return void(t.Debug&&cf.warn(\"more than 500 atoms, skip residue for auto-bonding\",e.qualifiedName()));var c,u,h=[],l=[],p=[];if(o>50){var d=new ts(e,!0),f=e.isCg()?1.2:2.3;for(c=a;c500)return void cf.warn(\"more than 500 atoms, skip residue for auto-bonding\",t.qualifiedName());for(var l=t.getBonds(),p=l.atomIndices1,d=l.atomIndices2,f=l.bondOrders,m=p.length,g=0;g1&&(c.x-=1),s.x<0&&(c.x+=1),s.y>1&&(c.y-=1),s.y<0&&(c.y+=1),s.z>1&&(c.z-=1),s.z<0&&(c.z+=1),t&&c.add(t),u.setPosition(c),u.multiplyMatrices(r.fracToCart,u),u.multiply(r.cartToFrac),e.push(u)}),e}if(e.unitcell){t.Debug&&cf.time(\"buildUnitcellAssembly\");var r=e.unitcell,n=e.center.clone().applyMatrix4(r.cartToFrac),o=es(r.spacegroup),a=new g,s=new g,c=new g;n.x>1&&(a.x-=1),n.x<0&&(a.x+=1),n.y>1&&(a.y-=1),n.y<0&&(a.y+=1),n.z>1&&(a.z-=1),n.z<0&&(a.z+=1);var u,h=new iv(\"UNITCELL\"),l=i();if(e.biomolDict.NCS){u=[new v].concat(e.biomolDict.NCS.partList[0].matrixList);var p=[];l.forEach(function(t){u.forEach(function(e){p.push(t.clone().multiply(e))})}),h.addPart(p)}else h.addPart(l);var d=new g,f=new iv(\"SUPERCELL\"),m=Array.prototype.concat.call(i(d.set(1,0,0)),i(d.set(0,1,0)),i(d.set(0,0,1)),i(d.set(-1,0,0)),i(d.set(0,-1,0)),i(d.set(0,0,-1)),i(d.set(1,1,0)),i(d.set(1,0,1)),i(d.set(0,1,1)),i(d.set(-1,-1,0)),i(d.set(-1,0,-1)),i(d.set(0,-1,-1)),i(d.set(1,-1,-1)),i(d.set(1,1,-1)),i(d.set(1,-1,1)),i(d.set(-1,1,1)),i(d.set(-1,-1,1)),i(d.set(-1,1,-1)),i(d.set(0,1,-1)),i(d.set(0,-1,1)),i(d.set(1,0,-1)),i(d.set(-1,0,1)),i(d.set(1,-1,0)),i(d.set(-1,1,0)),i(),i(d.set(1,1,1)),i(d.set(-1,-1,-1)));if(e.biomolDict.NCS){var y=[];m.forEach(function(t){u.forEach(function(e){y.push(t.clone().multiply(e))})}),f.addPart(y)}else f.addPart(m);e.biomolDict.UNITCELL=h,e.biomolDict.SUPERCELL=f,t.Debug&&cf.timeEnd(\"buildUnitcellAssembly\")}}function ls(t){var e=t.trim().toUpperCase();parseInt(e.charAt(0))&&(e=e.substr(1)),parseInt(e.charAt(0))&&(e=e.substr(1));var i=e.length;if(0===i)return\"\";if(1===i)return e;if(2===i){if(-1!==cv.indexOf(e))return e;if(-1!==sv.indexOf(e[0]))return e[0]}return i>=3&&-1!==sv.indexOf(e[0])?e[0]:\"\"}function ps(t){var e=t.bondHash,i=e.countArray,r=e.offsetArray,n=e.indexArray,o=t.getBondProxy();t.eachResidue(function(t){var e=t.residueType;if(void 0===e.bonds){var a=t.atomOffset,s=[],c=[],u=[],h={};t.eachAtom(function(t){for(var e=t.index,l=r[e],p=0,d=i[e];pm){var g=m;m=f,f=g}var v=f+\"|\"+m;void 0===h[v]&&(h[v]=!0,s.push(f-a),c.push(m-a),u.push(o.bondOrder))}}),e.bonds={atomIndices1:s,atomIndices2:c,bondOrders:u}}})}function ds(t,e){return t+\"|\"+e}function fs(t,e,i,r){return t+\"|\"+e.join(\",\")+\"|\"+(i?1:0)+\"|\"+(r||\"\")}function ms(t,e){function i(e){t(e,r)}function r(){var t=n.shift();void 0!==t?(o=!0,setTimeout(function(){i(t)})):o=!1}var n=[],o=!1;if(e){for(var a=0,s=e.length;a.9*e[3*r+r])if(o>0)for(n=0;n<3;++n)t[i+n]-=e[3*r+n];else for(n=0;n<3;++n)t[i+n]+=e[3*r+n];return t}}function ys(t){return\"front\"===t?Au:\"back\"===t?Mu:Pu}function bs(t,e){t.matrix.copy(e),t.matrix.decompose(t.position,t.quaternion,t.scale),t.matrixWorldNeedsUpdate=!0}function xs(t){var e=JSON.stringify(t);return void 0===my[e]&&(my[e]=new gy(t)),my[e]}function _s(t,e){void 0!==t.toArray?t=t.toArray():void 0!==t.x?t=[t.x,t.y,t.z]:void 0!==t.r&&(t=[t.r,t.g,t.b]),e.push.apply(e,t)}function ws(t){t.visible=!0}function Ss(t){t.visible=!1}function As(t,e,i,r){var n=i-t,o=r-e;return Math.sqrt(n*n+o*o)}function Ms(t){for(var e=t||{},i=dn(e.width,256),r=dn(e.height,256),n=[i/2,r/2],o=Math.min(i/2,r/2),a=dn(e.delta,1/(o+1))*o,s=0,c=0,u=new Uint8Array(i*r*4),h=0,l=u.length;h1&&(l=1),r(e,i,n,o,h,f),r(e,i,n,o,l,m),m.sub(f).normalize(),m.toArray(a,g)}}function a(e,i,r,n,o){for(var a=i.next(),s=i.next(),c=i.next(),u=i.size,h=u-1,l=n||0,p=0;pi&&s.bondSet.clear(y)}else(\"OH\"===u.atomname&&\"TYR\"===u.resname||\"OH\"===h.atomname&&\"TYR\"===h.resname)&&(function(t,e,r,n){var o,a;t.atomname===r?(o=t,a=e):(o=e,a=t),d.index=o.residueIndex;var s=d.getAtomIndexByName(n);return m.subVectors(s,o),v.subVectors(s,a),Vn(m.angleTo(v))i&&s.bondSet.clear(y)))}}return{atomSet:s.atomSet,bondSet:s.bondSet,bondStore:s.bondStore}}function zs(t,e){this.type=t,this.text=e||{}}function Us(t,e,i,r,n){function o(t,r,o){return((t*e+r)*i+o)*n}var a,s=new(r=r||Int32Array)(t*e*i*(n=n||1));this.data=s,this.index=o,this.set=function(t,e,i){var r=arguments,c=o(t,e,i);for(a=0;aa?u[h]=-1:(o=Math.sqrt(a-n),u[h]=Math.floor(o)),++h;A[l]=c,S[l]=u}}function o(i){var r,n,o,a,s,c,u,h,l,p,d,f,m,v,_,M,E,I,L=3*i,O=i;r=Math.floor(.5+g*(t[L]+w[0])),n=Math.floor(.5+g*(t[L+1]+w[1])),o=Math.floor(.5+g*(t[L+2]+w[2]));var D,N=e[O],k=S[N],B=0,F=b*x,z=A[N];for(p=0;p=y||v>=b||_>=x)){var U=m*F+v*x+_;if(P)if(T[U]&R){if(T[U]&R){var j=C[U];j!==L&&u*u+h*h+l*l<(a=r+u-Math.floor(.5+g*(t[j]+w[0])))*a+(s=n+h-Math.floor(.5+g*(t[j+1]+w[1])))*s+(c=o+l-Math.floor(.5+g*(t[j+2]+w[2])))*c&&(C[U]=i)}}else T[U]|=R,C[U]=i;else T[U]|=R}B++}}function a(e){console.time(\"EDTSurface fillvoxels\");var i,r;for(i=0,r=T.length;i=y||d>=b||f>=x)){var F=p*B+d*x+f;if(T[F]&O){if(P){var z=C[F];u*u+h*h+l*l<(a=Math.floor(.5+g*(t[z]+w[0])))*a+(s=Math.floor(.5+g*(t[z+1]+w[1])))*s+(c=Math.floor(.5+g*(t[z+2]+w[2])))*c&&(C[F]=i)}}else T[F]|=O,P&&(C[F]=i)}N++}}function c(){var e,i;for(e=0,i=T.length;e-1&&a-1&&c-1&&s0);var f,m=v*v,g=new Uint16Array(3);for(t=0;t=m)||(T[n]|=D,P&&T[n]&O&&(o.toArray(t,e,i,g),f=g[0]*a+g[1]*x+g[2],C[n]=C[f])));console.timeEnd(\"EDTSurface fastdistancemap\")}function l(t,e,i,r){var n,o,a,s,c,u,h,l,p,d,f,m,g=new Uint16Array(3),v=0;if(0===i)return v;var _=-1,w=-1,S=-1,A=b*x;for(h=0,p=i;h-1&&w-1&&S-1&&(T[f=_*A+x*w+S]&R&&!(T[f]&O)?(e.fromArray(_,w,S,g),d=(s=_-g[0])*s+(c=w-g[1])*c+(u=S-g[2])*u,E[f]=d,T[f]|=O,T[f]|=D,r[v]=_,r[v+1]=w,r[v+2]=S,v+=3):T[f]&R&&T[f]&O&&(d=(s=_-g[0])*s+(c=w-g[1])*c+(u=S-g[2])*u)-1&&w-1&&S-1&&(T[f=_*A+x*w+S]&R&&!(T[f]&O)?(e.fromArray(_,w,S,g),d=(s=_-g[0])*s+(c=w-g[1])*c+(u=S-g[2])*u,E[f]=d,T[f]|=O,T[f]|=D,r[v]=_,r[v+1]=w,r[v+2]=S,v+=3):T[f]&R&&T[f]&O&&(d=(s=_-g[0])*s+(c=w-g[1])*c+(u=S-g[2])*u)-1&&w-1&&S-1&&(T[f=_*A+x*w+S]&R&&!(T[f]&O)?(e.fromArray(_,w,S,g),d=(s=_-g[0])*s+(c=w-g[1])*c+(u=S-g[2])*u,E[f]=d,T[f]|=O,T[f]|=D,r[v]=_,r[v+1]=w,r[v+2]=S,v+=3):T[f]&R&&T[f]&O&&(d=(s=_-g[0])*s+(c=w-g[1])*c+(u=S-g[2])*u)T&&(T=L)}this.neighbourListLength=27*T+1,this.withinRadii=function(n,o,a,c,p){for(var d=0,f=s(n,u),y=s(o,h),x=s(a,l),_=Math.max(0,f-1),w=Math.max(0,y-1),P=Math.max(0,x-1),T=Math.min(m,f+1),E=Math.min(g,y+1),C=Math.min(v,x+1),I=_;I<=T;++I)for(var L=I*b,R=w;R<=E;++R)for(var O=R*v,D=P;D<=C;++D)for(var N=L+O+D,k=S[N],B=k+A[N],F=k;FP&&(P=A[h]);o(),a(),s(),H=-1}function n(t,e,i){for(var r=0;r=0;){if(o!==r&&o!==n&&u(o,t,e,i))return H=o,o;o=j[++a]}return H=-1,-1}function u(e,i,r,n){var o=3*e,a=M[e],s=t[o]-i,c=t[o+1]-r,u=t[o+2]-n;return s*s+c*c+u*u=0;)t0&&s0&&e(g-1),l.growIfFull(),l.resno[g]=_,void 0!==S&&(l.sstruc[g]=S.charCodeAt(0)),void 0!==A&&(l.inscode[g]=A.charCodeAt(0)),l.atomOffset[g]=m,l.atomCount[g]=0,l.count+=1,l.chainIndex[g]=v,p.residueCount[v]+=1),h.count+=1,h.residueIndex[m]=g,l.atomCount[g]+=1,n=t,o=b,a=x,s=_,c=A,u=w},this.finalize=function(){i=a,r=u,g>-1&&e(g)}}function Hs(t){switch(t=t.toLowerCase()){case\"polymer\":return sg;case\"non-polymer\":return cg;case\"macrolide\":return ug;case\"water\":return hg;default:return ag}}function Ws(t){return!t||t[0]!==t[t.length-1]||\"'\"!==t[0]&&'\"'!==t[0]?t:t.substring(1,t.length-1)}function Xs(t,e){Array.isArray(t[e])||Object.keys(t).forEach(function(e){t[e]=[t[e]]})}function qs(t){return\"?\"!==t}function Ys(t,e){return qs(t)?t:e}function Zs(t){switch(t.toLowerCase()){case\"?\":case\"sing\":return 1;case\"doub\":return 2;case\"trip\":return 3;case\"quad\":return 4}return 0}function Ks(t,e,i){var r,n,o=e.atomStore,a=e.atomMap,s=t.chem_comp,c=t.chem_comp_atom,u=t.chem_comp_bond;s&&(s.name&&(e.title=s.name.trim().replace(Lx,\"\")),s.id&&(e.id=s.id.trim().replace(Lx,\"\")));var h={};if(c){var l,p,d,f;for(n=c.comp_id.length,r=0;rf*f)return n.growIfFull(),n.atomTypeId[m]=n.atomTypeId[t],n.x[m]=p.x,n.y[m]=p.y,n.z[m]=p.z,n.occupancy[m]=n.occupancy[t],n.serial[m]=m,n.altloc[m]=\"A\".charCodeAt(0),i.addAtom(0,\"\",\"\",\"HET\",1,1),void(m+=1)}}})}(b)}function Js(t,e,i){var r,n,o,a,s=[],c=[],u=t.struct_conf;if(u)for(Xs(u,\"id\"),r=0,n=u.beg_auth_seq_id.length;r0){o=o.split(\"(\");var c=s(o[0]),u=s(o[1]);Object.keys(c).forEach(function(t){Object.keys(u).forEach(function(e){var i=new v;i.multiplyMatrices(c[t],u[e]),r[t+\"x\"+e]=i})})}else r=s(o);var h=[];for(var l in r)h.push(r[l]);var p=t;/^(0|[1-9][0-9]*)$/.test(p)&&(p=\"BU\"+p);for(var d=a.asym_id_list[e].split(\",\"),f=0,m=d.length;fw){var S=_;_=w,w=S;var A=f;f=b,b=A}if(0!==_&&0!==w)for(var M=0;Mo&&++s;e=new Int32Array(s)}for(i=0,r=0;i65535){for(var r=[],n=0;n\");){var e=n();if(!e)return t;t.attributes[e.name]=e.value}return o(/\\?>\\s*/),t}}function i(){var t=o(m_);if(t){for(var e={name:t[1],attributes:{},children:[]};!(a()||s(\">\")||s(\"?>\")||s(\"/>\"));){var c=n();if(!c)return e;e.attributes[c.name]=c.value}if(o(/^\\s*\\/>\\s*/))return e;o(/\\??>\\s*/),e.content=r();for(var u;u=i();)e.children.push(u);return o(/^<\\/[\\w-:.]+>\\s*/),e}}function r(){var t=o(g_);return t?t[1]:\"\"}function n(){var t=o(v_);if(t)return{name:t[1],value:Tc(t[2])}}function o(e){var i=t.match(e);if(i)return t=t.slice(i[0].length),i}function a(){return 0===t.length}function s(e){return 0===t.indexOf(e)}return t=t.trim().replace(//g,\"\"),function(){return{declaration:e(),root:i()}}()}function Cc(t,e,i){var r=t.icode.value,n=t.chain.value,o=t.altcode.value,a=t.resnum.value;return r.trim()&&(a+=\"^\"+r),n.trim()&&(a+=\":\"+n),e&&(a+=\".\"+e),i&&o.trim()&&(a+=\"%\"+o),a+=\"/\"+(parseInt(t.model.value)-1)}function Ic(t,e,i){void 0===t[e]?t[e]=i:t[e]|=i}function Lc(t,e){return void 0!==t&&t.value===e}function Rc(t){var e=t.inscode,i=t.chainname,r=t.atomname,n=t.altloc,o=t.resno;return e&&(o+=\"^\"+e),i&&(o+=\":\"+i),r&&(o+=\".\"+r),n&&(o+=\"%\"+n),o+=\"/\"+t.modelIndex}function Oc(t,e,i){for(var r=0,n=e.getElementsByTagName(\"clash\"),o=0,a=n.length;o0&&(r+=1),e.getElementsByTagName(\"bond-outlier\").length>0&&(r+=1),e.getElementsByTagName(\"plane-outlier\").length>0&&(r+=1),Lc(i.rota,\"OUTLIER\")&&(r+=1),Lc(i.rama,\"OUTLIER\")&&(r+=1),Lc(i.RNApucker,\"outlier\")&&(r+=1),r}function Dc(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var i=e.shift();if(i){if(\"object\"!=typeof i)throw new TypeError(i+\"must be non-object\");for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])}}return t}function Nc(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)}function kc(t,e,i,r,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(i,i+r),n);for(var o=0;o>>16&65535|0,a=0;0!==i;){i-=a=i>2e3?2e3:i;do{o=o+(n=n+e[r++]|0)|0}while(--a);n%=65521,o%=65521}return n|o<<16|0}function zc(t,e,i,r){var n=A_,o=r+i;t^=-1;for(var a=r;a>>8^n[255&(t^e[a])];return-1^t}function Uc(t,e){var i,r,n,o,a,s,c,u,h,l,p,d,f,m,g,v,y,b,x,_,w,S,A,M,P;i=t.state,r=t.next_in,M=t.input,n=r+(t.avail_in-5),o=t.next_out,P=t.output,a=o-(e-t.avail_out),s=o+(t.avail_out-257),c=i.dmax,u=i.wsize,h=i.whave,l=i.wnext,p=i.window,d=i.hold,f=i.bits,m=i.lencode,g=i.distcode,v=(1<>>24,d>>>=x,f-=x,0===(x=b>>>16&255))P[o++]=65535&b;else{if(!(16&x)){if(0==(64&x)){b=m[(65535&b)+(d&(1<>>=x,f-=x),f<15&&(d+=M[r++]<>>24,d>>>=x,f-=x,!(16&(x=b>>>16&255))){if(0==(64&x)){b=g[(65535&b)+(d&(1<c){t.msg=\"invalid distance too far back\",i.mode=M_;break t}if(d>>>=x,f-=x,x=o-a,w>x){if((x=w-x)>h&&i.sane){t.msg=\"invalid distance too far back\",i.mode=M_;break t}if(S=0,A=p,0===l){if(S+=u-x,x<_){_-=x;do{P[o++]=p[S++]}while(--x);S=o-w,A=P}}else if(l2;)P[o++]=A[S++],P[o++]=A[S++],P[o++]=A[S++],_-=3;_&&(P[o++]=A[S++],_>1&&(P[o++]=A[S++]))}else{S=o-w;do{P[o++]=P[S++],P[o++]=P[S++],P[o++]=P[S++],_-=3}while(_>2);_&&(P[o++]=P[S++],_>1&&(P[o++]=P[S++]))}break}}break}}while(r>3,d&=(1<<(f-=_<<3))-1,t.next_in=r,t.next_out=o,t.avail_in=r=1&&0===I[_];_--);if(w>_&&(w=_),0===_)return n[o++]=20971520,n[o++]=20971520,s.bits=1,0;for(x=1;x<_&&0===I[x];x++);for(w0&&(t===I_||1!==_))return-1;for(L[1]=0,y=1;yE_||t===R_&&P>C_)return 1;for(var D=0;;){D++,f=y-A,a[b]d?(m=R[O+a[b]],g=E[C+a[b]]):(m=96,g=0),c=1<>A)+(u-=c)]=f<<24|m<<16|g|0}while(0!==u);for(c=1<>=1;if(0!==c?(T&=c-1,T+=c):T=0,b++,0==--I[y]){if(y===_)break;y=e[i+a[b]]}if(y>w&&(T&l)!==h){for(0===A&&(A=w),p+=x,M=1<<(S=y-A);S+A<_&&!((M-=I[S+A])<=0);)S++,M<<=1;if(P+=1<E_||t===R_&&P>C_)return 1;n[h=T&l]=w<<24|S<<16|p-o|0}}return 0!==T&&(n[p+T]=y-A<<24|64<<16|0),s.bits=w,0}function Gc(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function Vc(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function $c(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=K_,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(Cw),e.distcode=e.distdyn=new Int32Array(Iw),e.sane=1,e.back=-1,V_):W_}function Hc(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,$c(t)):W_}function Wc(t,e){var i,r;return t&&t.state?(r=t.state,e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?W_:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=i,r.wbits=e,Hc(t))):W_}function Xc(t,e){var i,r;return t?(r=new Vc,t.state=r,r.window=null,(i=Wc(t,e))!==V_&&(t.state=null),i):W_}function qc(t){if(Lw){var e;for(w_=new Int32Array(512),S_=new Int32Array(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(jc(F_,t.lens,0,288,w_,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;jc(z_,t.lens,0,32,S_,0,t.work,{bits:5}),Lw=!1}t.lencode=w_,t.lenbits=9,t.distcode=S_,t.distbits=5}function Yc(t,e,i,r){var n,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(kc(o.window,e,i-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((n=o.wsize-o.wnext)>r&&(n=r),kc(o.window,e,i-r,n,o.wnext),(r-=n)?(kc(o.window,e,i-r,r,0),o.wnext=r,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,i.check=zc(i.check,T,2,0),u=0,h=0,i.mode=Q_;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg=\"incorrect header check\",i.mode=Pw;break}if((15&u)!==Z_){t.msg=\"unknown compression method\",i.mode=Pw;break}if(u>>>=4,h-=4,w=8+(15&u),0===i.wbits)i.wbits=w;else if(w>i.wbits){t.msg=\"invalid window size\",i.mode=Pw;break}i.dmax=1<>8&1),512&i.flags&&(T[0]=255&u,T[1]=u>>>8&255,i.check=zc(i.check,T,2,0)),u=0,h=0,i.mode=J_;case J_:for(;h<32;){if(0===s)break t;s--,u+=r[o++]<>>8&255,T[2]=u>>>16&255,T[3]=u>>>24&255,i.check=zc(i.check,T,4,0)),u=0,h=0,i.mode=tw;case tw:for(;h<16;){if(0===s)break t;s--,u+=r[o++]<>8),512&i.flags&&(T[0]=255&u,T[1]=u>>>8&255,i.check=zc(i.check,T,2,0)),u=0,h=0,i.mode=ew;case ew:if(1024&i.flags){for(;h<16;){if(0===s)break t;s--,u+=r[o++]<>>8&255,i.check=zc(i.check,T,2,0)),u=0,h=0}else i.head&&(i.head.extra=null);i.mode=iw;case iw:if(1024&i.flags&&((d=i.length)>s&&(d=s),d&&(i.head&&(w=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),kc(i.head.extra,r,o,d,w)),512&i.flags&&(i.check=zc(i.check,r,d,o)),s-=d,o+=d,i.length-=d),i.length))break t;i.length=0,i.mode=rw;case rw:if(2048&i.flags){if(0===s)break t;d=0;do{w=r[o+d++],i.head&&w&&i.length<65536&&(i.head.name+=String.fromCharCode(w))}while(w&&d>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=cw;break;case aw:for(;h<32;){if(0===s)break t;s--,u+=r[o++]<>>=7&h,h-=7&h,i.mode=Sw;break}for(;h<3;){if(0===s)break t;s--,u+=r[o++]<>>=1,h-=1,3&u){case 0:i.mode=hw;break;case 1:if(qc(i),i.mode=gw,e===G_){u>>>=2,h-=2;break t}break;case 2:i.mode=dw;break;case 3:t.msg=\"invalid block type\",i.mode=Pw}u>>>=2,h-=2;break;case hw:for(u>>>=7&h,h-=7&h;h<32;){if(0===s)break t;s--,u+=r[o++]<>>16^65535)){t.msg=\"invalid stored block lengths\",i.mode=Pw;break}if(i.length=65535&u,u=0,h=0,i.mode=lw,e===G_)break t;case lw:i.mode=pw;case pw:if(d=i.length){if(d>s&&(d=s),d>c&&(d=c),0===d)break t;kc(n,r,o,d,a),s-=d,o+=d,c-=d,a+=d,i.length-=d;break}i.mode=cw;break;case dw:for(;h<14;){if(0===s)break t;s--,u+=r[o++]<>>=5,h-=5,i.ndist=1+(31&u),u>>>=5,h-=5,i.ncode=4+(15&u),u>>>=4,h-=4,i.nlen>286||i.ndist>30){t.msg=\"too many length or distance symbols\",i.mode=Pw;break}i.have=0,i.mode=fw;case fw:for(;i.have>>=3,h-=3}for(;i.have<19;)i.lens[E[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,A={bits:i.lenbits},S=jc(B_,i.lens,0,19,i.lencode,0,i.work,A),i.lenbits=A.bits,S){t.msg=\"invalid code lengths set\",i.mode=Pw;break}i.have=0,i.mode=mw;case mw:for(;i.have>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=r[o++]<>>=g,h-=g,i.lens[i.have++]=y;else{if(16===y){for(M=g+2;h>>=g,h-=g,0===i.have){t.msg=\"invalid bit length repeat\",i.mode=Pw;break}w=i.lens[i.have-1],d=3+(3&u),u>>>=2,h-=2}else if(17===y){for(M=g+3;h>>=g)),u>>>=3,h-=3}else{for(M=g+7;h>>=g)),u>>>=7,h-=7}if(i.have+d>i.nlen+i.ndist){t.msg=\"invalid bit length repeat\",i.mode=Pw;break}for(;d--;)i.lens[i.have++]=w}}if(i.mode===Pw)break;if(0===i.lens[256]){t.msg=\"invalid code -- missing end-of-block\",i.mode=Pw;break}if(i.lenbits=9,A={bits:i.lenbits},S=jc(F_,i.lens,0,i.nlen,i.lencode,0,i.work,A),i.lenbits=A.bits,S){t.msg=\"invalid literal/lengths set\",i.mode=Pw;break}if(i.distbits=6,i.distcode=i.distdyn,A={bits:i.distbits},S=jc(z_,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,A),i.distbits=A.bits,S){t.msg=\"invalid distances set\",i.mode=Pw;break}if(i.mode=gw,e===G_)break t;case gw:i.mode=vw;case vw:if(s>=6&&c>=258){t.next_out=a,t.avail_out=c,t.next_in=o,t.avail_in=s,i.hold=u,i.bits=h,Uc(t,p),a=t.next_out,n=t.output,c=t.avail_out,o=t.next_in,r=t.input,s=t.avail_in,u=i.hold,h=i.bits,i.mode===cw&&(i.back=-1);break}for(i.back=0;P=i.lencode[u&(1<>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=r[o++]<>b)],g=P>>>24,v=P>>>16&255,y=65535&P,!(b+g<=h);){if(0===s)break t;s--,u+=r[o++]<>>=b,h-=b,i.back+=b}if(u>>>=g,h-=g,i.back+=g,i.length=y,0===v){i.mode=ww;break}if(32&v){i.back=-1,i.mode=cw;break}if(64&v){t.msg=\"invalid literal/length code\",i.mode=Pw;break}i.extra=15&v,i.mode=yw;case yw:if(i.extra){for(M=i.extra;h>>=i.extra,h-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=bw;case bw:for(;P=i.distcode[u&(1<>>24,v=P>>>16&255,y=65535&P,!(g<=h);){if(0===s)break t;s--,u+=r[o++]<>b)],g=P>>>24,v=P>>>16&255,y=65535&P,!(b+g<=h);){if(0===s)break t;s--,u+=r[o++]<>>=b,h-=b,i.back+=b}if(u>>>=g,h-=g,i.back+=g,64&v){t.msg=\"invalid distance code\",i.mode=Pw;break}i.offset=y,i.extra=15&v,i.mode=xw;case xw:if(i.extra){for(M=i.extra;h>>=i.extra,h-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg=\"invalid distance too far back\",i.mode=Pw;break}i.mode=_w;case _w:if(0===c)break t;if(d=p-c,i.offset>d){if((d=i.offset-d)>i.whave&&i.sane){t.msg=\"invalid distance too far back\",i.mode=Pw;break}d>i.wnext?(d-=i.wnext,f=i.wsize-d):f=i.wnext-d,d>i.length&&(d=i.length),m=i.window}else m=n,f=a-i.offset,d=i.length;d>c&&(d=c),c-=d,i.length-=d;do{n[a++]=m[f++]}while(--d);0===i.length&&(i.mode=vw);break;case ww:if(0===c)break t;n[a++]=i.length,c--,i.mode=vw;break;case Sw:if(i.wrap){for(;h<32;){if(0===s)break t;s--,u|=r[o++]<>>6,e[o++]=128|63&i):i<65536?(e[o++]=224|i>>>12,e[o++]=128|i>>>6&63,e[o++]=128|63&i):(e[o++]=240|i>>>18,e[o++]=128|i>>>12&63,e[o++]=128|i>>>6&63,e[o++]=128|63&i);return e}function eu(t,e){if(e<65537&&(t.subarray&&Ow||!t.subarray&&Rw))return String.fromCharCode.apply(null,Nc(t,e));for(var i=\"\",r=0;r4)s[r++]=65533,i+=o-1;else{for(n&=2===o?31:3===o?15:7;o>1&&i1?s[r++]=65533:n<65536?s[r++]=n:(n-=65536,s[r++]=55296|n>>10&1023,s[r++]=56320|1023&n)}return eu(s,r)}function nu(t,e){var i;for((e=e||t.length)>t.length&&(e=t.length),i=e-1;i>=0&&128==(192&t[i]);)i--;return i<0?e:0===i?e:i+Dw[t[i]]>e?i:e}function ou(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}function au(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}function su(t){if(!(this instanceof su))return new su(t);this.options=Dc({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new ou,this.strm.avail_out=0;var i=Xc(this.strm,e.windowBits);if(i!==kw)throw new Error(Bw[i]);this.header=new au,Qc(this.strm,this.header)}function cu(t,e){var i=new su(e);if(i.push(t,!0),i.err)throw i.msg;return i.result}function uu(t){var e;t instanceof ArrayBuffer&&(t=new Uint8Array(t));try{e=cu(t)}catch(i){e=t}return e}function hu(){this.getUrl=function(t){var e,i=yn(t),r=i.name.substr(0,4);return![\"pdb\",\"cif\"].includes(i.ext)||!1!==i.compressed&&\"gz\"!==i.compressed?\"mmtf\"===i.ext?e=i.base.endsWith(\".bb\")?jw+r:Uw+r:i.ext?(cf.warn(\"unsupported ext\",i.ext),e=Uw+r):e=Uw+r:e=zw+i.path,fn()+e},this.getExt=function(t){var e=yn(t);if(\"mmtf\"===e.ext||!e.ext)return\"mmtf\"}}function lu(){this.getUrl=function(t){var e,i=yn(t),r=i.name;return i.ext&&\"sdf\"!==i.ext?(cf.warn(\"unsupported ext\",i.ext),e=Gw+r+Vw):e=Gw+r+Vw,fn()+e},this.getExt=function(t){var e=yn(t);if(!e.ext||\"sdf\"===e.ext)return\"sdf\"}}function pu(){this.getUrl=function(t){return t}}function du(t){t=t||\"\",this.getUrl=function(e){var i=yn(e),r=t+i.path;return $w.test(t)||(r=gn(r)),r}}\"undefined\"!=typeof window&&function(){window.console=window.console||{};for(var t,e,i=window.console,r={},n=function(){},o=\"memory\".split(\",\"),a=\"assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn\".split(\",\");t=o.pop();)i[t]||(i[t]=r);for(;e=a.pop();)i[e]||(i[e]=n)}(),\"undefined\"==typeof HTMLCanvasElement||HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,\"toBlob\",{value:function(t,e,i){for(var r=window.atob(this.toDataURL(e,i).split(\",\")[1]),n=r.length,o=n>>2,a=new Uint8Array(n),s=new Uint32Array(a.buffer,0,o),c=0,u=0;c0?1:-1}),Number.isInteger||(Number.isInteger=function(t){return\"number\"==typeof t&&isFinite(t)&&t>-9007199254740992&&t<9007199254740992&&Math.floor(t)===t}),Number.isNaN||(Number.isNaN=function(t){return t!==t}),Object.assign||Object.defineProperty(Object,\"assign\",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var e=arguments;if(void 0===t||null===t)throw new TypeError(\"Cannot convert first argument to object\");for(var i,r=Object(t),n=!1,o=1;o1?arguments[1]:void 0,s=a?Number(a):0;s!=s&&(s=0);var c=Math.min(Math.max(s,0),r);if(o+c>r)return!1;for(var u=-1;++ui.length)&&(e=i.length),e-=t.length;var r=i.indexOf(t,e);return-1!==r&&r===e}),String.prototype.includes||(String.prototype.includes=function(t,e){return\"number\"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),Array.prototype.includes||(Array.prototype.includes=function(t){if(null==this)throw new TypeError(\"Array.prototype.includes called on null or undefined\");var e=Object(this),i=parseInt(e.length,10)||0;if(0===i)return!1;var r,n=parseInt(arguments[1],10)||0;n>=0?r=n:(r=i+n)<0&&(r=0);for(var o;r0?1:-1)*Math.floor(Math.abs(e)):e},r=Math.pow(2,53)-1,n=function(t){var e=i(t);return Math.min(Math.max(e,0),r)};return function(t){var i=this,r=Object(t);if(null==t)throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");var o,a=arguments.length>1?arguments[1]:void 0;if(void 0!==a){if(!e(a))throw new TypeError(\"Array.from: when provided, the second argument must be a function\");arguments.length>2&&(o=arguments[2])}for(var s,c=n(r.length),u=e(i)?Object(new i(c)):new Array(c),h=0;h0?1:+t}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,\"name\",{get:function(){return this.toString().match(/^\\s*function\\s*([^\\(\\s]*)/)[1]}}),void 0===Object.assign&&function(){Object.assign=function(t){var e=arguments;if(void 0===t||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var i=Object(t),r=1;r>=4,i[n]=e[19===n?3&t|8:t]);return i.join(\"\")}}(),clamp:function(t,e,i){return Math.max(e,Math.min(i,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,i,r,n){return r+(t-e)*(n-r)/(i-e)},lerp:function(t,e,i){return(1-i)*t+i*e},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*xl.DEG2RAD},radToDeg:function(t){return t*xl.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t}};Object.defineProperties(l.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(l.prototype,{isVector2:!0,set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error(\"index is out of range: \"+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this},clampScalar:function(){var t=new l,e=new l;return function(i,r){return t.set(i,i),e.set(r,r),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,i))/i)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y;return e*e+i*i},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromBufferAttribute:function(t,e,i){return void 0!==i&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\"),this.x=t.getX(e),this.y=t.getY(e),this},rotateAround:function(t,e){var i=Math.cos(e),r=Math.sin(e),n=this.x-t.x,o=this.y-t.y;return this.x=n*i-o*r+t.x,this.y=n*r+o*i+t.y,this}});var _l=0;p.DEFAULT_IMAGE=void 0,p.DEFAULT_MAPPING=300,Object.defineProperty(p.prototype,\"needsUpdate\",{set:function(t){!0===t&&this.version++}}),Object.assign(p.prototype,h.prototype,{constructor:p,isTexture:!0,clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){if(void 0!==t.textures[this.uuid])return t.textures[this.uuid];var e={metadata:{version:4.5,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var i=this.image;void 0===i.uuid&&(i.uuid=xl.generateUUID()),void 0===t.images[i.uuid]&&(t.images[i.uuid]={uuid:i.uuid,url:function(t){var e;return void 0!==t.toDataURL?e=t:((e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\")).width=t.width,e.height=t.height,e.getContext(\"2d\").drawImage(t,0,0,t.width,t.height)),e.width>2048||e.height>2048?e.toDataURL(\"image/jpeg\",.6):e.toDataURL(\"image/png\")}(i)}),e.image=i.uuid}return t.textures[this.uuid]=e,e},dispose:function(){this.dispatchEvent({type:\"dispose\"})},transformUv:function(t){if(300===this.mapping){if(t.multiply(this.repeat),t.add(this.offset),t.x<0||t.x>1)switch(this.wrapS){case Sh:t.x=t.x-Math.floor(t.x);break;case Ah:t.x=t.x<0?0:1;break;case Mh:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case Sh:t.y=t.y-Math.floor(t.y);break;case Ah:t.y=t.y<0?0:1;break;case Mh:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}this.flipY&&(t.y=1-t.y)}}}),Object.assign(d.prototype,{isVector4:!0,set:function(t,e,i,r){return this.x=t,this.y=e,this.z=i,this.w=r,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error(\"index is out of range: \"+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var e=this.x,i=this.y,r=this.z,n=this.w,o=t.elements;return this.x=o[0]*e+o[4]*i+o[8]*r+o[12]*n,this.y=o[1]*e+o[5]*i+o[9]*r+o[13]*n,this.z=o[2]*e+o[6]*i+o[10]*r+o[14]*n,this.w=o[3]*e+o[7]*i+o[11]*r+o[15]*n,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this},setAxisAngleFromRotationMatrix:function(t){var e,i,r,n,o=t.elements,a=o[0],s=o[4],c=o[8],u=o[1],h=o[5],l=o[9],p=o[2],d=o[6],f=o[10];if(Math.abs(s-u)<.01&&Math.abs(c-p)<.01&&Math.abs(l-d)<.01){if(Math.abs(s+u)<.1&&Math.abs(c+p)<.1&&Math.abs(l+d)<.1&&Math.abs(a+h+f-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;var m=(a+1)/2,g=(h+1)/2,v=(f+1)/2,y=(s+u)/4,b=(c+p)/4,x=(l+d)/4;return m>g&&m>v?m<.01?(i=0,r=.707106781,n=.707106781):(r=y/(i=Math.sqrt(m)),n=b/i):g>v?g<.01?(i=.707106781,r=0,n=.707106781):(i=y/(r=Math.sqrt(g)),n=x/r):v<.01?(i=.707106781,r=.707106781,n=0):(i=b/(n=Math.sqrt(v)),r=x/n),this.set(i,r,n,e),this}var _=Math.sqrt((d-l)*(d-l)+(c-p)*(c-p)+(u-s)*(u-s));return Math.abs(_)<.001&&(_=1),this.x=(d-l)/_,this.y=(c-p)/_,this.z=(u-s)/_,this.w=Math.acos((a+h+f-1)/2),this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this},clampScalar:function(){var t=new d,e=new d;return function(i,r){return t.set(i,i,i,i),e.set(r,r,r,r),this.clamp(t,e)}}(),floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t},fromBufferAttribute:function(t,e,i){return void 0!==i&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\"),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}}),Object.assign(f.prototype,h.prototype,{isWebGLRenderTarget:!0,setSize:function(t,e){this.width===t&&this.height===e||(this.width=t,this.height=e,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.width=t.width,this.height=t.height,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this},dispose:function(){this.dispatchEvent({type:\"dispose\"})}}),Object.assign(m,{slerp:function(t,e,i,r){return i.copy(t).slerp(e,r)},slerpFlat:function(t,e,i,r,n,o,a){var s=i[r+0],c=i[r+1],u=i[r+2],h=i[r+3],l=n[o+0],p=n[o+1],d=n[o+2],f=n[o+3];if(h!==f||s!==l||c!==p||u!==d){var m=1-a,g=s*l+c*p+u*d+h*f,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var b=Math.sqrt(y),x=Math.atan2(b,g*v);m=Math.sin(m*x)/b,a=Math.sin(a*x)/b}var _=a*v;if(s=s*m+l*_,c=c*m+p*_,u=u*m+d*_,h=h*m+f*_,m===1-a){var w=1/Math.sqrt(s*s+c*c+u*u+h*h);s*=w,c*=w,u*=w,h*=w}}t[e]=s,t[e+1]=c,t[e+2]=u,t[e+3]=h}}),Object.defineProperties(m.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(t){this._w=t,this.onChangeCallback()}}}),Object.assign(m.prototype,{set:function(t,e,i,r){return this._x=t,this._y=e,this._z=i,this._w=r,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this.onChangeCallback(),this},setFromEuler:function(t,e){if(!1===(t&&t.isEuler))throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");var i=t._x,r=t._y,n=t._z,o=t.order,a=Math.cos,s=Math.sin,c=a(i/2),u=a(r/2),h=a(n/2),l=s(i/2),p=s(r/2),d=s(n/2);return\"XYZ\"===o?(this._x=l*u*h+c*p*d,this._y=c*p*h-l*u*d,this._z=c*u*d+l*p*h,this._w=c*u*h-l*p*d):\"YXZ\"===o?(this._x=l*u*h+c*p*d,this._y=c*p*h-l*u*d,this._z=c*u*d-l*p*h,this._w=c*u*h+l*p*d):\"ZXY\"===o?(this._x=l*u*h-c*p*d,this._y=c*p*h+l*u*d,this._z=c*u*d+l*p*h,this._w=c*u*h-l*p*d):\"ZYX\"===o?(this._x=l*u*h-c*p*d,this._y=c*p*h+l*u*d,this._z=c*u*d-l*p*h,this._w=c*u*h+l*p*d):\"YZX\"===o?(this._x=l*u*h+c*p*d,this._y=c*p*h+l*u*d,this._z=c*u*d-l*p*h,this._w=c*u*h-l*p*d):\"XZY\"===o&&(this._x=l*u*h-c*p*d,this._y=c*p*h-l*u*d,this._z=c*u*d+l*p*h,this._w=c*u*h+l*p*d),!1!==e&&this.onChangeCallback(),this},setFromAxisAngle:function(t,e){var i=e/2,r=Math.sin(i);return this._x=t.x*r,this._y=t.y*r,this._z=t.z*r,this._w=Math.cos(i),this.onChangeCallback(),this},setFromRotationMatrix:function(t){var e,i=t.elements,r=i[0],n=i[4],o=i[8],a=i[1],s=i[5],c=i[9],u=i[2],h=i[6],l=i[10],p=r+s+l;return p>0?(e=.5/Math.sqrt(p+1),this._w=.25/e,this._x=(h-c)*e,this._y=(o-u)*e,this._z=(a-n)*e):r>s&&r>l?(e=2*Math.sqrt(1+r-s-l),this._w=(h-c)/e,this._x=.25*e,this._y=(n+a)/e,this._z=(o+u)/e):s>l?(e=2*Math.sqrt(1+s-r-l),this._w=(o-u)/e,this._x=(n+a)/e,this._y=.25*e,this._z=(c+h)/e):(e=2*Math.sqrt(1+l-r-s),this._w=(a-n)/e,this._x=(o+u)/e,this._y=(c+h)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e=new g;return function(i,r){return void 0===e&&(e=new g),t=i.dot(r)+1,t<1e-6?(t=0,Math.abs(i.x)>Math.abs(i.z)?e.set(-i.y,i.x,0):e.set(0,-i.z,i.y)):e.crossVectors(i,r),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this.onChangeCallback(),this},multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var i=t._x,r=t._y,n=t._z,o=t._w,a=e._x,s=e._y,c=e._z,u=e._w;return this._x=i*u+o*a+r*c-n*s,this._y=r*u+o*s+n*a-i*c,this._z=n*u+o*c+i*s-r*a,this._w=o*u-i*a-r*s-n*c,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var i=this._x,r=this._y,n=this._z,o=this._w,a=o*t._w+i*t._x+r*t._y+n*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=i,this._y=r,this._z=n,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(i+this._x),this._y=.5*(r+this._y),this._z=.5*(n+this._z),this;var c=Math.atan2(s,a),u=Math.sin((1-e)*c)/s,h=Math.sin(e*c)/s;return this._w=o*u+this._w*h,this._x=i*u+this._x*h,this._y=r*u+this._y*h,this._z=n*u+this._z*h,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(g.prototype,{isVector3:!0,set:function(t,e,i){return this.x=t,this.y=e,this.z=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error(\"index is out of range: \"+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:function(){var t=new m;return function(e){return!1===(e&&e.isEuler)&&console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\"),this.applyQuaternion(t.setFromEuler(e))}}(),applyAxisAngle:function(){var t=new m;return function(e,i){return this.applyQuaternion(t.setFromAxisAngle(e,i))}}(),applyMatrix3:function(t){var e=this.x,i=this.y,r=this.z,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6]*r,this.y=n[1]*e+n[4]*i+n[7]*r,this.z=n[2]*e+n[5]*i+n[8]*r,this},applyMatrix4:function(t){var e=this.x,i=this.y,r=this.z,n=t.elements;this.x=n[0]*e+n[4]*i+n[8]*r+n[12],this.y=n[1]*e+n[5]*i+n[9]*r+n[13],this.z=n[2]*e+n[6]*i+n[10]*r+n[14];var o=n[3]*e+n[7]*i+n[11]*r+n[15];return this.divideScalar(o)},applyQuaternion:function(t){var e=this.x,i=this.y,r=this.z,n=t.x,o=t.y,a=t.z,s=t.w,c=s*e+o*r-a*i,u=s*i+a*e-n*r,h=s*r+n*i-o*e,l=-n*e-o*i-a*r;return this.x=c*s+l*-n+u*-a-h*-o,this.y=u*s+l*-o+h*-n-c*-a,this.z=h*s+l*-a+c*-o-u*-n,this},project:function(){var t=new v;return function(e){return t.multiplyMatrices(e.projectionMatrix,t.getInverse(e.matrixWorld)),this.applyMatrix4(t)}}(),unproject:function(){var t=new v;return function(e){return t.multiplyMatrices(e.matrixWorld,t.getInverse(e.projectionMatrix)),this.applyMatrix4(t)}}(),transformDirection:function(t){var e=this.x,i=this.y,r=this.z,n=t.elements;return this.x=n[0]*e+n[4]*i+n[8]*r,this.y=n[1]*e+n[5]*i+n[9]*r,this.z=n[2]*e+n[6]*i+n[10]*r,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this},clampScalar:function(){var t=new g,e=new g;return function(i,r){return t.set(i,i,i),e.set(r,r,r),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,i))/i)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},cross:function(t,e){if(void 0!==e)return console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(t,e);var i=this.x,r=this.y,n=this.z;return this.x=r*t.z-n*t.y,this.y=n*t.x-i*t.z,this.z=i*t.y-r*t.x,this},crossVectors:function(t,e){var i=t.x,r=t.y,n=t.z,o=e.x,a=e.y,s=e.z;return this.x=r*s-n*a,this.y=n*o-i*s,this.z=i*a-r*o,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t=new g;return function(e){return t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t=new g;return function(e){return this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(xl.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y,r=this.z-t.z;return e*e+i*i+r*r},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){var e=Math.sin(t.phi)*t.radius;return this.x=e*Math.sin(t.theta),this.y=Math.cos(t.phi)*t.radius,this.z=e*Math.cos(t.theta),this},setFromCylindrical:function(t){return this.x=t.radius*Math.sin(t.theta),this.y=t.y,this.z=t.radius*Math.cos(t.theta),this},setFromMatrixPosition:function(t){return this.setFromMatrixColumn(t,3)},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),r=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=r,this},setFromMatrixColumn:function(t,e){return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromBufferAttribute:function(t,e,i){return void 0!==i&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\"),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}}),Object.assign(v.prototype,{isMatrix4:!0,set:function(t,e,i,r,n,o,a,s,c,u,h,l,p,d,f,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=i,g[12]=r,g[1]=n,g[5]=o,g[9]=a,g[13]=s,g[2]=c,g[6]=u,g[10]=h,g[14]=l,g[3]=p,g[7]=d,g[11]=f,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new v).fromArray(this.elements)},copy:function(t){var e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},copyPosition:function(t){var e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this},extractBasis:function(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this},extractRotation:function(){var t=new g;return function(e){var i=this.elements,r=e.elements,n=1/t.setFromMatrixColumn(e,0).length(),o=1/t.setFromMatrixColumn(e,1).length(),a=1/t.setFromMatrixColumn(e,2).length();return i[0]=r[0]*n,i[1]=r[1]*n,i[2]=r[2]*n,i[4]=r[4]*o,i[5]=r[5]*o,i[6]=r[6]*o,i[8]=r[8]*a,i[9]=r[9]*a,i[10]=r[10]*a,this}}(),makeRotationFromEuler:function(t){!1===(t&&t.isEuler)&&console.error(\"THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");var e=this.elements,i=t.x,r=t.y,n=t.z,o=Math.cos(i),a=Math.sin(i),s=Math.cos(r),c=Math.sin(r),u=Math.cos(n),h=Math.sin(n);if(\"XYZ\"===t.order){var l=o*u,p=o*h,d=a*u,f=a*h;e[0]=s*u,e[4]=-s*h,e[8]=c,e[1]=p+d*c,e[5]=l-f*c,e[9]=-a*s,e[2]=f-l*c,e[6]=d+p*c,e[10]=o*s}else if(\"YXZ\"===t.order){var m=s*u,g=s*h,v=c*u,y=c*h;e[0]=m+y*a,e[4]=v*a-g,e[8]=o*c,e[1]=o*h,e[5]=o*u,e[9]=-a,e[2]=g*a-v,e[6]=y+m*a,e[10]=o*s}else if(\"ZXY\"===t.order){var m=s*u,g=s*h,v=c*u,y=c*h;e[0]=m-y*a,e[4]=-o*h,e[8]=v+g*a,e[1]=g+v*a,e[5]=o*u,e[9]=y-m*a,e[2]=-o*c,e[6]=a,e[10]=o*s}else if(\"ZYX\"===t.order){var l=o*u,p=o*h,d=a*u,f=a*h;e[0]=s*u,e[4]=d*c-p,e[8]=l*c+f,e[1]=s*h,e[5]=f*c+l,e[9]=p*c-d,e[2]=-c,e[6]=a*s,e[10]=o*s}else if(\"YZX\"===t.order){var b=o*s,x=o*c,_=a*s,w=a*c;e[0]=s*u,e[4]=w-b*h,e[8]=_*h+x,e[1]=h,e[5]=o*u,e[9]=-a*u,e[2]=-c*u,e[6]=x*h+_,e[10]=b-w*h}else if(\"XZY\"===t.order){var b=o*s,x=o*c,_=a*s,w=a*c;e[0]=s*u,e[4]=-h,e[8]=c*u,e[1]=b*h+w,e[5]=o*u,e[9]=x*h-_,e[2]=_*h-x,e[6]=a*u,e[10]=w*h+b}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:function(t){var e=this.elements,i=t._x,r=t._y,n=t._z,o=t._w,a=i+i,s=r+r,c=n+n,u=i*a,h=i*s,l=i*c,p=r*s,d=r*c,f=n*c,m=o*a,g=o*s,v=o*c;return e[0]=1-(p+f),e[4]=h-v,e[8]=l+g,e[1]=h+v,e[5]=1-(u+f),e[9]=d-m,e[2]=l-g,e[6]=d+m,e[10]=1-(u+p),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},lookAt:function(){var t=new g,e=new g,i=new g;return function(r,n,o){var a=this.elements;return i.subVectors(r,n),0===i.lengthSq()&&(i.z=1),i.normalize(),t.crossVectors(o,i),0===t.lengthSq()&&(i.z+=1e-4,t.crossVectors(o,i)),t.normalize(),e.crossVectors(i,t),a[0]=t.x,a[4]=e.x,a[8]=i.x,a[1]=t.y,a[5]=e.y,a[9]=i.y,a[2]=t.z,a[6]=e.z,a[10]=i.z,this}}(),multiply:function(t,e){return void 0!==e?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,r=e.elements,n=this.elements,o=i[0],a=i[4],s=i[8],c=i[12],u=i[1],h=i[5],l=i[9],p=i[13],d=i[2],f=i[6],m=i[10],g=i[14],v=i[3],y=i[7],b=i[11],x=i[15],_=r[0],w=r[4],S=r[8],A=r[12],M=r[1],P=r[5],T=r[9],E=r[13],C=r[2],I=r[6],L=r[10],R=r[14],O=r[3],D=r[7],N=r[11],k=r[15];return n[0]=o*_+a*M+s*C+c*O,n[4]=o*w+a*P+s*I+c*D,n[8]=o*S+a*T+s*L+c*N,n[12]=o*A+a*E+s*R+c*k,n[1]=u*_+h*M+l*C+p*O,n[5]=u*w+h*P+l*I+p*D,n[9]=u*S+h*T+l*L+p*N,n[13]=u*A+h*E+l*R+p*k,n[2]=d*_+f*M+m*C+g*O,n[6]=d*w+f*P+m*I+g*D,n[10]=d*S+f*T+m*L+g*N,n[14]=d*A+f*E+m*R+g*k,n[3]=v*_+y*M+b*C+x*O,n[7]=v*w+y*P+b*I+x*D,n[11]=v*S+y*T+b*L+x*N,n[15]=v*A+y*E+b*R+x*k,this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},applyToBufferAttribute:function(){var t=new g;return function(e){for(var i=this,r=0,n=e.count;r>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,e,i){return this.r=t,this.g=e,this.b=i,this},setHSL:function(){function t(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+6*(e-t)*(2/3-i):t}return function(e,i,r){if(e=xl.euclideanModulo(e,1),i=xl.clamp(i,0,1),r=xl.clamp(r,0,1),0===i)this.r=this.g=this.b=r;else{var n=r<=.5?r*(1+i):r+i-r*i,o=2*r-n;this.r=t(o,n,e+1/3),this.g=t(o,n,e),this.b=t(o,n,e-1/3)}return this}}(),setStyle:function(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn(\"THREE.Color: Alpha component of \"+t+\" will be ignored.\")}var i;if(i=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(t)){var r,n=i[1],o=i[2];switch(n){case\"rgb\":case\"rgba\":if(r=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,e(r[5]),this;if(r=/^(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,e(r[5]),this;break;case\"hsl\":case\"hsla\":if(r=/^([0-9]*\\.?[0-9]+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o)){var a=parseFloat(r[1])/360,s=parseInt(r[2],10)/100,c=parseInt(r[3],10)/100;return e(r[5]),this.setHSL(a,s,c)}}}else if(i=/^\\#([A-Fa-f0-9]+)$/.exec(t)){var u=(h=i[1]).length;if(3===u)return this.r=parseInt(h.charAt(0)+h.charAt(0),16)/255,this.g=parseInt(h.charAt(1)+h.charAt(1),16)/255,this.b=parseInt(h.charAt(2)+h.charAt(2),16)/255,this;if(6===u)return this.r=parseInt(h.charAt(0)+h.charAt(1),16)/255,this.g=parseInt(h.charAt(2)+h.charAt(3),16)/255,this.b=parseInt(h.charAt(4)+h.charAt(5),16)/255,this}if(t&&t.length>0){var h=Cl[t];void 0!==h?this.setHex(h):console.warn(\"THREE.Color: Unknown color \"+t)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return void 0===e&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){void 0===e&&(e=2);var i=e>0?1/e:1;return this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},convertGammaToLinear:function(){var t=this.r,e=this.g,i=this.b;return this.r=t*t,this.g=e*e,this.b=i*i,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return(\"000000\"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){var e,i,r=t||{h:0,s:0,l:0},n=this.r,o=this.g,a=this.b,s=Math.max(n,o,a),c=Math.min(n,o,a),u=(c+s)/2;if(c===s)e=0,i=0;else{var h=s-c;switch(i=u<=.5?h/(s+c):h/(2-s-c),s){case n:e=(o-a)/h+(o 0.0 ) {\\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\t\\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t\\treturn distanceFalloff * maxDistanceCutoffFactor;\\n#else\\n\\t\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec2 ltcTextureCoords( const in GeometricContext geometry, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = (LUT_SIZE - 1.0)/LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5/LUT_SIZE;\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tfloat theta = acos( dot( N, V ) );\\n\\tvec2 uv = vec2(\\n\\t\\tsqrt( saturate( roughness ) ),\\n\\t\\tsaturate( theta / ( 0.5 * PI ) ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nvoid clipQuadToHorizon( inout vec3 L[5], out int n ) {\\n\\tint config = 0;\\n\\tif ( L[0].z > 0.0 ) config += 1;\\n\\tif ( L[1].z > 0.0 ) config += 2;\\n\\tif ( L[2].z > 0.0 ) config += 4;\\n\\tif ( L[3].z > 0.0 ) config += 8;\\n\\tn = 0;\\n\\tif ( config == 0 ) {\\n\\t} else if ( config == 1 ) {\\n\\t\\tn = 3;\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t\\tL[2] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t} else if ( config == 2 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t} else if ( config == 3 ) {\\n\\t\\tn = 4;\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t\\tL[3] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t} else if ( config == 4 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t\\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t} else if ( config == 5 ) {\\n\\t\\tn = 0;\\n\\t} else if ( config == 6 ) {\\n\\t\\tn = 4;\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t\\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t} else if ( config == 7 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t\\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t} else if ( config == 8 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t\\tL[1] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t\\tL[2] = L[3];\\n\\t} else if ( config == 9 ) {\\n\\t\\tn = 4;\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t\\tL[2] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t} else if ( config == 10 ) {\\n\\t\\tn = 0;\\n\\t} else if ( config == 11 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = L[3];\\n\\t\\tL[3] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t} else if ( config == 12 ) {\\n\\t\\tn = 4;\\n\\t\\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t\\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t} else if ( config == 13 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = L[3];\\n\\t\\tL[3] = L[2];\\n\\t\\tL[2] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t} else if ( config == 14 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t} else if ( config == 15 ) {\\n\\t\\tn = 4;\\n\\t}\\n\\tif ( n == 3 )\\n\\t\\tL[3] = L[0];\\n\\tif ( n == 4 )\\n\\t\\tL[4] = L[0];\\n}\\nfloat integrateLtcBrdfOverRectEdge( vec3 v1, vec3 v2 ) {\\n\\tfloat cosTheta = dot( v1, v2 );\\n\\tfloat theta = acos( cosTheta );\\n\\tfloat res = cross( v1, v2 ).z * ( ( theta > 0.001 ) ? theta / sin( theta ) : 1.0 );\\n\\treturn res;\\n}\\nvoid initRectPoints( const in vec3 pos, const in vec3 halfWidth, const in vec3 halfHeight, out vec3 rectPoints[4] ) {\\n\\trectPoints[0] = pos - halfWidth - halfHeight;\\n\\trectPoints[1] = pos + halfWidth - halfHeight;\\n\\trectPoints[2] = pos + halfWidth + halfHeight;\\n\\trectPoints[3] = pos - halfWidth + halfHeight;\\n}\\nvec3 integrateLtcBrdfOverRect( const in GeometricContext geometry, const in mat3 brdfMat, const in vec3 rectPoints[4] ) {\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tvec3 T1, T2;\\n\\tT1 = normalize(V - N * dot( V, N ));\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 brdfWrtSurface = brdfMat * transpose( mat3( T1, T2, N ) );\\n\\tvec3 clippedRect[5];\\n\\tclippedRect[0] = brdfWrtSurface * ( rectPoints[0] - P );\\n\\tclippedRect[1] = brdfWrtSurface * ( rectPoints[1] - P );\\n\\tclippedRect[2] = brdfWrtSurface * ( rectPoints[2] - P );\\n\\tclippedRect[3] = brdfWrtSurface * ( rectPoints[3] - P );\\n\\tint n;\\n\\tclipQuadToHorizon(clippedRect, n);\\n\\tif ( n == 0 )\\n\\t\\treturn vec3( 0, 0, 0 );\\n\\tclippedRect[0] = normalize( clippedRect[0] );\\n\\tclippedRect[1] = normalize( clippedRect[1] );\\n\\tclippedRect[2] = normalize( clippedRect[2] );\\n\\tclippedRect[3] = normalize( clippedRect[3] );\\n\\tclippedRect[4] = normalize( clippedRect[4] );\\n\\tfloat sum = 0.0;\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[0], clippedRect[1] );\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[1], clippedRect[2] );\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[2], clippedRect[3] );\\n\\tif (n >= 4)\\n\\t\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[3], clippedRect[4] );\\n\\tif (n == 5)\\n\\t\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[4], clippedRect[0] );\\n\\tsum = max( 0.0, sum );\\n\\tvec3 Lo_i = vec3( sum, sum, sum );\\n\\treturn Lo_i/(2.0 * PI);\\n}\\nfloat ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length(f);\\n\\treturn max((l*l + f.z)/(l+1.0), 0.0);\\n}\\nvec3 EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot(v1, v2);\\n\\tfloat y = abs(x);\\n\\tfloat a = 0.86267 + (0.49788 + 0.01436*y)*y;\\n\\tfloat b = 3.45068 + (4.18814 + y)*y;\\n\\tfloat v = a/b;\\n\\tfloat theta_sintheta = (x > 0.0) ? v : 0.5*inversesqrt(1.0 - x*x) - v;\\n\\treturn cross(v1, v2)*theta_sintheta;\\n}\\nvec3 integrateLtcBrdfOverRectOptimized( const in GeometricContext geometry, const in mat3 brdfMat, const in vec3 rectPoints[4] ) {\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tvec3 T1, T2;\\n\\tT1 = normalize(V - N * dot( V, N ));\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 brdfWrtSurface = brdfMat * transpose( mat3( T1, T2, N ) );\\n\\tvec3 clippedRect[4];\\n\\tclippedRect[0] = brdfWrtSurface * ( rectPoints[0] - P );\\n\\tclippedRect[1] = brdfWrtSurface * ( rectPoints[1] - P );\\n\\tclippedRect[2] = brdfWrtSurface * ( rectPoints[2] - P );\\n\\tclippedRect[3] = brdfWrtSurface * ( rectPoints[3] - P );\\n\\tvec3 v1 = clippedRect[1] - clippedRect[0];\\n\\tvec3 v2 = clippedRect[3] - clippedRect[0];\\n\\tvec3 lightNormal = cross(v1, v2);\\n\\tbool bSameSide = dot(lightNormal, clippedRect[0]) > 0.0;\\n\\tif( !bSameSide )\\n\\t\\treturn vec3(0.0);\\n\\tclippedRect[0] = normalize( clippedRect[0] );\\n\\tclippedRect[1] = normalize( clippedRect[1] );\\n\\tclippedRect[2] = normalize( clippedRect[2] );\\n\\tclippedRect[3] = normalize( clippedRect[3] );\\n\\tvec3 edgeVectorFormFactor = vec3(0.0);\\n\\tedgeVectorFormFactor += EdgeVectorFormFactor( clippedRect[0], clippedRect[1] );\\n\\tedgeVectorFormFactor += EdgeVectorFormFactor( clippedRect[1], clippedRect[2] );\\n\\tedgeVectorFormFactor += EdgeVectorFormFactor( clippedRect[2], clippedRect[3] );\\n\\tedgeVectorFormFactor += EdgeVectorFormFactor( clippedRect[3], clippedRect[0] );\\n\\tvec3 Lo_i = vec3( ClippedSphereFormFactor( edgeVectorFormFactor ) );\\n\\treturn Lo_i;\\n}\\nvec3 Rect_Area_Light_Specular_Reflectance(\\n\\t\\tconst in GeometricContext geometry,\\n\\t\\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight,\\n\\t\\tconst in float roughness,\\n\\t\\tconst in sampler2D ltcMat, const in sampler2D ltcMag ) {\\n\\tvec3 rectPoints[4];\\n\\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\\n\\tvec2 uv = ltcTextureCoords( geometry, roughness );\\n\\tvec4 brdfLtcApproxParams, t;\\n\\tbrdfLtcApproxParams = texture2D( ltcMat, uv );\\n\\tt = texture2D( ltcMat, uv );\\n\\tfloat brdfLtcScalar = texture2D( ltcMag, uv ).a;\\n\\tmat3 brdfLtcApproxMat = mat3(\\n\\t\\tvec3( 1, 0, t.y ),\\n\\t\\tvec3( 0, t.z, 0 ),\\n\\t\\tvec3( t.w, 0, t.x )\\n\\t);\\n\\tvec3 specularReflectance = integrateLtcBrdfOverRectOptimized( geometry, brdfLtcApproxMat, rectPoints );\\n\\tspecularReflectance *= brdfLtcScalar;\\n\\treturn specularReflectance;\\n}\\nvec3 Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\tconst in GeometricContext geometry,\\n\\t\\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight ) {\\n\\tvec3 rectPoints[4];\\n\\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\\n\\tmat3 diffuseBrdfMat = mat3(1);\\n\\tvec3 diffuseReflectance = integrateLtcBrdfOverRectOptimized( geometry, diffuseBrdfMat, rectPoints );\\n\\treturn diffuseReflectance;\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\\n\\treturn specularColor * AB.x + AB.y;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n\",bumpmap_pars_fragment:\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = dFdx( surf_pos );\\n\\t\\tvec3 vSigmaY = dFdy( surf_pos );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\\n\",clipping_planes_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\\n\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t\\t\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\\n\\t\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\tif ( clipped ) discard;\\n\\t\\n\\t#endif\\n#endif\\n\",clipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\t\\tvarying vec3 vViewPosition;\\n\\t#endif\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\\n\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n\",color_fragment:\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\\n\",color_pars_vertex:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#ifdef USE_COLOR\\n\\tvColor.xyz = color.xyz;\\n#endif\",common:\"#define PI 3.14159265359\\n#define PI2 6.28318530718\\n#define PI_HALF 1.5707963267949\\n#define RECIPROCAL_PI 0.31830988618\\n#define RECIPROCAL_PI2 0.15915494\\n#define LOG2 1.442695\\n#define EPSILON 1e-6\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\nmat3 transpose( const in mat3 v ) {\\n\\tmat3 tmp;\\n\\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\\n\\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\\n\\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\\n\\treturn tmp;\\n}\\n\",cube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n#define cubeUV_textureSize (1024.0)\\nint getFaceFromDirection(vec3 direction) {\\n\\tvec3 absDirection = abs(direction);\\n\\tint face = -1;\\n\\tif( absDirection.x > absDirection.z ) {\\n\\t\\tif(absDirection.x > absDirection.y )\\n\\t\\t\\tface = direction.x > 0.0 ? 0 : 3;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\telse {\\n\\t\\tif(absDirection.z > absDirection.y )\\n\\t\\t\\tface = direction.z > 0.0 ? 2 : 5;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\treturn face;\\n}\\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\\n\\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\\n\\tfloat dxRoughness = dFdx(roughness);\\n\\tfloat dyRoughness = dFdy(roughness);\\n\\tvec3 dx = dFdx( vec * scale * dxRoughness );\\n\\tvec3 dy = dFdy( vec * scale * dyRoughness );\\n\\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\\n\\td = clamp(d, 1.0, cubeUV_rangeClamp);\\n\\tfloat mipLevel = 0.5 * log2(d);\\n\\treturn vec2(floor(mipLevel), fract(mipLevel));\\n}\\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\\n\\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\\n\\tfloat a = 16.0 * cubeUV_rcpTextureSize;\\n\\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\\n\\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\\n\\tfloat powScale = exp2_packed.x * exp2_packed.y;\\n\\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\\n\\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\\n\\tbool bRes = mipLevel == 0.0;\\n\\tscale = bRes && (scale < a) ? a : scale;\\n\\tvec3 r;\\n\\tvec2 offset;\\n\\tint face = getFaceFromDirection(direction);\\n\\tfloat rcpPowScale = 1.0 / powScale;\\n\\tif( face == 0) {\\n\\t\\tr = vec3(direction.x, -direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 1) {\\n\\t\\tr = vec3(direction.y, direction.x, direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 2) {\\n\\t\\tr = vec3(direction.z, direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 3) {\\n\\t\\tr = vec3(direction.x, direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse if( face == 4) {\\n\\t\\tr = vec3(direction.y, direction.x, -direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse {\\n\\t\\tr = vec3(direction.z, -direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\tr = normalize(r);\\n\\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\\n\\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\\n\\tvec2 base = offset + vec2( texelOffset );\\n\\treturn base + s * ( scale - 2.0 * texelOffset );\\n}\\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\\n\\tfloat roughnessVal = roughness* cubeUV_maxLods3;\\n\\tfloat r1 = floor(roughnessVal);\\n\\tfloat r2 = r1 + 1.0;\\n\\tfloat t = fract(roughnessVal);\\n\\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\\n\\tfloat s = mipInfo.y;\\n\\tfloat level0 = mipInfo.x;\\n\\tfloat level1 = level0 + 1.0;\\n\\tlevel1 = level1 > 5.0 ? 5.0 : level1;\\n\\tlevel0 += min( floor( s + 0.5 ), 5.0 );\\n\\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\\n\\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\\n\\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\\n\\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\\n\\tvec4 result = mix(color10, color20, t);\\n\\treturn vec4(result.rgb, 1.0);\\n}\\n#endif\\n\",defaultnormal_vertex:\"#ifdef FLIP_SIDED\\n\\tobjectNormal = -objectNormal;\\n#endif\\nvec3 transformedNormal = normalMatrix * objectNormal;\\n\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\\n\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\\n#endif\\n\",emissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\\n\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\\n\",encodings_fragment:\" gl_FragColor = linearToOutputTexel( gl_FragColor );\\n\",encodings_pars_fragment:\"\\nvec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n\\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n\\tfloat maxComponent = max( max( value.r, value.g ), value.b );\\n\\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n\\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n\\tM = ceil( M * 255.0 ) / 255.0;\\n\\treturn vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat D = max( maxRange / maxRGB, 1.0 );\\n\\tD = min( floor( D ) / 255.0, 1.0 );\\n\\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n\\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\\n\\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\\n\\tvec4 vResult;\\n\\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n\\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n\\tvResult.w = fract(Le);\\n\\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\\n\\treturn vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n\\tfloat Le = value.z * 255.0 + value.w;\\n\\tvec3 Xp_Y_XYZp;\\n\\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\\n\\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n\\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n\\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\\n\\treturn vec4( max(vRGB, 0.0), 1.0 );\\n}\\n\",envmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\tvec2 sampleUV;\\n\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\tvec4 envColor = texture2D( envMap, sampleUV );\\n\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\\n\\t\\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\\n\",envmap_pars_fragment:\"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\\n\\tuniform float reflectivity;\\n\\tuniform float envMapIntensity;\\n#endif\\n#ifdef USE_ENVMAP\\n\\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\tuniform float flipEnvMap;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\\n\",envmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\\n\",envmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\n\",fog_vertex:\"\\n#ifdef USE_FOG\\nfogDepth = -mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n varying float fogDepth;\\n#endif\\n\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\\n\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float fogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\\n\",gradientmap_pars_fragment:\"#ifdef TOON\\n\\tuniform sampler2D gradientMap;\\n\\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\t\\tfloat dotNL = dot( normal, lightDirection );\\n\\t\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t\\t#ifdef USE_GRADIENTMAP\\n\\t\\t\\treturn texture2D( gradientMap, coord ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n#endif\\n\",lightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_vertex:\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\n#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lights_pars:\"uniform vec3 ambientLightColor;\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tdirectLight.color = pointLight.color;\\n\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( angleCos > spotLight.coneCos ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltcMat;\\tuniform sampler2D ltcMag;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\\n\\t\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\t\\tvec2 sampleUV;\\n\\t\\t\\tsampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );\\n\\t\\t\\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\t\\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\\n\",lights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\\n\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tvec3\\tspecularColor;\\n\\tfloat\\tspecularShininess;\\n\\tfloat\\tspecularStrength;\\n};\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_BlinnPhong( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 matDiffColor = material.diffuseColor;\\n\\t\\tvec3 matSpecColor = material.specularColor;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = BlinnExponentToGGXRoughness( material.specularShininess );\\n\\t\\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\\n\\t\\t\\t\\troughness,\\n\\t\\t\\t\\tltcMat, ltcMag );\\n\\t\\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\\n\\t\\treflectedLight.directSpecular += lightColor * matSpecColor * spec;\\n\\t\\treflectedLight.directDiffuse += lightColor * matDiffColor * diff;\\n\\t}\\n#endif\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifdef TOON\\n\\t\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\t#else\\n\\t\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\t\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#endif\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\\n\",lights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\\n#ifdef STANDARD\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.clearCoat = saturate( clearCoat );\\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\\n#endif\\n\",lights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tfloat\\tspecularRoughness;\\n\\tvec3\\tspecularColor;\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoat;\\n\\t\\tfloat clearCoatRoughness;\\n\\t#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 matDiffColor = material.diffuseColor;\\n\\t\\tvec3 matSpecColor = material.specularColor;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.specularRoughness;\\n\\t\\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\\n\\t\\t\\t\\troughness,\\n\\t\\t\\t\\tltcMat, ltcMag );\\n\\t\\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\\n\\t\\treflectedLight.directSpecular += lightColor * matSpecColor * spec;\\n\\t\\treflectedLight.directDiffuse += lightColor * matDiffColor * diff;\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\\n\\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifndef STANDARD\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\tfloat dotNL = dotNV;\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\\n\",lights_template:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = normalize( vViewPosition );\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\\n\\t#endif\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\\n\\t#ifndef STANDARD\\n\\t\\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\\n\\t#else\\n\\t\\tvec3 clearCoatRadiance = vec3( 0.0 );\\n\\t#endif\\n\\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\\n#endif\\n\",logdepthbuf_fragment:\"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\\n\\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#ifdef USE_LOGDEPTHBUF\\n\\tuniform float logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n#endif\\n\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n\\tuniform float logDepthBufFC;\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t#else\\n\\t\\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\\n\\t#endif\\n#endif\\n\",map_fragment:\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\\n\",map_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n\",map_particle_fragment:\"#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n\",map_particle_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform vec4 offsetRepeat;\\n\\tuniform sampler2D map;\\n#endif\\n\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\\n\",metalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\n#endif\\n\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_MORPHNORMALS\\n\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",morphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\n\\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\n\\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\n\\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\n\\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\n\\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\n\\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\\n\",normal_flip:\"#ifdef DOUBLE_SIDED\\n\\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n#else\\n\\tfloat flipNormal = 1.0;\\n#endif\\n\",normal_fragment:\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal ) * flipNormal;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tnormal = perturbNormal2Arb( -vViewPosition, normal );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n\",normalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\\n\\t\\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\\n\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\tmapN.xy = normalScale * mapN.xy;\\n\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\treturn normalize( tsn * mapN );\\n\\t}\\n#endif\\n\",packing:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 1.0 - 2.0 * rgb.xyz;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\\n\",premultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n\",project_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 mvPosition = modelViewMatrix * skinned;\\n#else\\n\\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\\n\",dithering_fragment:\"#if defined( DITHERING )\\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\\n\",dithering_pars_fragment:\"#if defined( DITHERING )\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\\n\",roughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\\n\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\\n\\t\\tconst vec2 offset = vec2( 0.0, 1.0 );\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / size;\\n\\t\\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\\n\\t\\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\\n\\t\\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\\n\\t\\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\\n\\t\\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\\n\\t\\tvec2 f = fract( uv * size + 0.5 );\\n\\t\\tfloat a = mix( lb, lt, f.y );\\n\\t\\tfloat b = mix( rb, rt, f.y );\\n\\t\\tfloat c = mix( a, b, f.x );\\n\\t\\treturn c;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",shadowmap_pars_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n#endif\\n\",shadowmap_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n#endif\\n\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\\n\",skinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform sampler2D boneTexture;\\n\\t\\tuniform int boneTextureSize;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",skinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\tskinned = bindMatrixInverse * skinned;\\n#endif\\n\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n#endif\\n\",specularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\\n\",tonemapping_pars_fragment:\"#define saturate(a) clamp( a, 0.0, 1.0 )\\nuniform float toneMappingExposure;\\nuniform float toneMappingWhitePoint;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\\nvec3 Uncharted2ToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\n\",uv_pars_fragment:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n#endif\",uv_pars_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n\\tuniform vec4 offsetRepeat;\\n#endif\\n\",uv_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\\n#endif\",uv2_pars_fragment:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_pars_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = uv2;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\\n\\t#ifdef USE_SKINNING\\n\\t\\tvec4 worldPosition = modelMatrix * skinned;\\n\\t#else\\n\\t\\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\\n\\t#endif\\n#endif\\n\",cube_frag:\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n\\tgl_FragColor.a *= opacity;\\n}\\n\",cube_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\\n\\t#endif\\n}\\n\",depth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",distanceRGBA_frag:\"uniform vec3 lightPos;\\nvarying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\\n}\\n\",distanceRGBA_vert:\"varying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition;\\n}\\n\",equirect_frag:\"uniform sampler2D tEquirect;\\nuniform float tFlip;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldPosition );\\n\\tvec2 sampleUV;\\n\\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\\n\\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n}\\n\",equirect_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",linedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",linedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvLineDistance = scale * lineDistance;\\n\\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshlambert_frag:\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshlambert_vert:\"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphysical_frag:\"#define PHYSICAL\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifndef STANDARD\\n\\tuniform float clearCoat;\\n\\tuniform float clearCoatRoughness;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphysical_vert:\"#define PHYSICAL\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",normal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\\n\",normal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\\n\",points_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",points_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tgl_PointSize = size * ( scale / - mvPosition.z );\\n\\t#else\\n\\t\\tgl_PointSize = size;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",shadow_frag:\"uniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\\n}\\n\",shadow_vert:\"#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\"},Ol={basic:{uniforms:Ll.merge([Il.common,Il.aomap,Il.lightmap,Il.fog]),vertexShader:Rl.meshbasic_vert,fragmentShader:Rl.meshbasic_frag},lambert:{uniforms:Ll.merge([Il.common,Il.aomap,Il.lightmap,Il.emissivemap,Il.fog,Il.lights,{emissive:{value:new tt(0)}}]),vertexShader:Rl.meshlambert_vert,fragmentShader:Rl.meshlambert_frag},phong:{uniforms:Ll.merge([Il.common,Il.aomap,Il.lightmap,Il.emissivemap,Il.bumpmap,Il.normalmap,Il.displacementmap,Il.gradientmap,Il.fog,Il.lights,{emissive:{value:new tt(0)},specular:{value:new tt(1118481)},shininess:{value:30}}]),vertexShader:Rl.meshphong_vert,fragmentShader:Rl.meshphong_frag},standard:{uniforms:Ll.merge([Il.common,Il.aomap,Il.lightmap,Il.emissivemap,Il.bumpmap,Il.normalmap,Il.displacementmap,Il.roughnessmap,Il.metalnessmap,Il.fog,Il.lights,{emissive:{value:new tt(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:Rl.meshphysical_vert,fragmentShader:Rl.meshphysical_frag},points:{uniforms:Ll.merge([Il.points,Il.fog]),vertexShader:Rl.points_vert,fragmentShader:Rl.points_frag},dashed:{uniforms:Ll.merge([Il.common,Il.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Rl.linedashed_vert,fragmentShader:Rl.linedashed_frag},depth:{uniforms:Ll.merge([Il.common,Il.displacementmap]),vertexShader:Rl.depth_vert,fragmentShader:Rl.depth_frag},normal:{uniforms:Ll.merge([Il.common,Il.bumpmap,Il.normalmap,Il.displacementmap,{opacity:{value:1}}]),vertexShader:Rl.normal_vert,fragmentShader:Rl.normal_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Rl.cube_vert,fragmentShader:Rl.cube_frag},equirect:{uniforms:{tEquirect:{value:null},tFlip:{value:-1}},vertexShader:Rl.equirect_vert,fragmentShader:Rl.equirect_frag},distanceRGBA:{uniforms:{lightPos:{value:new g}},vertexShader:Rl.distanceRGBA_vert,fragmentShader:Rl.distanceRGBA_frag}};Ol.physical={uniforms:Ll.merge([Ol.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:Rl.meshphysical_vert,fragmentShader:Rl.meshphysical_frag},Object.assign(et.prototype,{set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){var e=this;this.makeEmpty();for(var i=0,r=t.length;ithis.max.x||t.ythis.max.y)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},getParameter:function(t,e){return(e||new l).set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)},clampPoint:function(t,e){return(e||new l).copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new l;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}});var Dl=0;Object.assign(nt.prototype,h.prototype,{isMaterial:!0,setValues:function(t){var e=this;if(void 0!==t)for(var i in t){var r=t[i];if(void 0!==r){var n=e[i];void 0!==n?n&&n.isColor?n.set(r):n&&n.isVector3&&r&&r.isVector3?n.copy(r):e[i]=\"overdraw\"===i?Number(r):r:console.warn(\"THREE.\"+e.type+\": '\"+i+\"' is not a property of this material.\")}else console.warn(\"THREE.Material: '\"+i+\"' parameter is undefined.\")}},toJSON:function(t){function e(t){var e=[];for(var i in t){var r=t[i];delete r.metadata,e.push(r)}return e}var i=void 0===t;i&&(t={textures:{},images:{}});var r={metadata:{version:4.5,type:\"Material\",generator:\"Material.toJSON\"}};if(r.uuid=this.uuid,r.type=this.type,\"\"!==this.name&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),void 0!==this.roughness&&(r.roughness=this.roughness),void 0!==this.metalness&&(r.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),void 0!==this.shininess&&(r.shininess=this.shininess),void 0!==this.clearCoat&&(r.clearCoat=this.clearCoat),void 0!==this.clearCoatRoughness&&(r.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(t).uuid),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(t).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(t).uuid,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(t).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(t).uuid,r.reflectivity=this.reflectivity),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.size&&(r.size=this.size),void 0!==this.sizeAttenuation&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==Ou&&(r.blending=this.blending),this.shading!==Eu&&(r.shading=this.shading),this.side!==Au&&(r.side=this.side),this.vertexColors!==Cu&&(r.vertexColors=this.vertexColors),this.opacity<1&&(r.opacity=this.opacity),!0===this.transparent&&(r.transparent=this.transparent),r.depthFunc=this.depthFunc,r.depthTest=this.depthTest,r.depthWrite=this.depthWrite,this.alphaTest>0&&(r.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(r.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(r.wireframe=this.wireframe),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(r.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(r.wireframeLinejoin=this.wireframeLinejoin),r.skinning=this.skinning,r.morphTargets=this.morphTargets,r.dithering=this.dithering,i){var n=e(t.textures),o=e(t.images);n.length>0&&(r.textures=n),o.length>0&&(r.images=o)}return r},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.shading=t.shading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.overdraw=t.overdraw,this.visible=t.visible,this.clipShadows=t.clipShadows,this.clipIntersection=t.clipIntersection;var e=t.clippingPlanes,i=null;if(null!==e){var r=e.length;i=new Array(r);for(var n=0;n!==r;++n)i[n]=e[n].clone()}return this.clippingPlanes=i,this},dispose:function(){this.dispatchEvent({type:\"dispose\"})}}),ot.prototype=Object.create(nt.prototype),ot.prototype.constructor=ot,ot.prototype.isShaderMaterial=!0,ot.prototype.copy=function(t){return nt.prototype.copy.call(this,t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=Ll.clone(t.uniforms),this.defines=t.defines,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=t.extensions,this},ot.prototype.toJSON=function(t){var e=nt.prototype.toJSON.call(this,t);return e.uniforms=this.uniforms,e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e},at.prototype=Object.create(nt.prototype),at.prototype.constructor=at,at.prototype.isMeshDepthMaterial=!0,at.prototype.copy=function(t){return nt.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this},Object.assign(st.prototype,{isBox3:!0,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromArray:function(t){for(var e=1/0,i=1/0,r=1/0,n=-1/0,o=-1/0,a=-1/0,s=0,c=t.length;sn&&(n=u),h>o&&(o=h),l>a&&(a=l)}return this.min.set(e,i,r),this.max.set(n,o,a),this},setFromBufferAttribute:function(t){for(var e=1/0,i=1/0,r=1/0,n=-1/0,o=-1/0,a=-1/0,s=0,c=t.count;sn&&(n=u),h>o&&(o=h),l>a&&(a=l)}return this.min.set(e,i,r),this.max.set(n,o,a),this},setFromPoints:function(t){var e=this;this.makeEmpty();for(var i=0,r=t.length;ithis.max.x||t.ythis.max.y||t.zthis.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,e){return(e||new g).set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)},intersectsSphere:function(){var t=new g;return function(e){return this.clampPoint(e.center,t),t.distanceToSquared(e.center)<=e.radius*e.radius}}(),intersectsPlane:function(t){var e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=t.constant&&i>=t.constant},clampPoint:function(t,e){return(e||new g).copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new g;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),getBoundingSphere:function(){var t=new g;return function(e){var i=e||new ct;return this.getCenter(i.center),i.radius=.5*this.getSize(t).length(),i}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(){var t=[new g,new g,new g,new g,new g,new g,new g,new g];return function(e){return this.isEmpty()?this:(t[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),t[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),t[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),t[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),t[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),t[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),t[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),t[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(t),this)}}(),translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(ct.prototype,{set:function(t,e){return this.center.copy(t),this.radius=e,this},setFromPoints:function(){var t=new st;return function(e,i){var r=this.center;void 0!==i?r.copy(i):t.setFromPoints(e).getCenter(r);for(var n=0,o=0,a=e.length;othis.radius*this.radius&&(r.sub(this.center).normalize(),r.multiplyScalar(this.radius).add(this.center)),r},getBoundingBox:function(t){var e=t||new st;return e.set(this.center,this.center),e.expandByScalar(this.radius),e},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}}),Object.assign(ut.prototype,{isMatrix3:!0,set:function(t,e,i,r,n,o,a,s,c){var u=this.elements;return u[0]=t,u[1]=r,u[2]=a,u[3]=e,u[4]=n,u[5]=s,u[6]=i,u[7]=o,u[8]=c,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this},setFromMatrix4:function(t){var e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this},applyToBufferAttribute:function(){var t=new g;return function(e){for(var i=this,r=0,n=e.count;r1))return r.copy(n).multiplyScalar(a).add(e.start)}else if(0===this.distanceToPoint(e.start))return r.copy(e.start)}}(),intersectsLine:function(t){var e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){return(t||new g).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var t=new g,e=new ut;return function(i,r){var n=this.coplanarPoint(t).applyMatrix4(i),o=r||e.getNormalMatrix(i),a=this.normal.applyMatrix3(o).normalize();return this.constant=-n.dot(a),this}}(),translate:function(t){return this.constant=this.constant-t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}}),Object.assign(lt.prototype,{set:function(t,e,i,r,n,o){var a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(i),a[3].copy(r),a[4].copy(n),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){for(var e=this.planes,i=0;i<6;i++)e[i].copy(t.planes[i]);return this},setFromMatrix:function(t){var e=this.planes,i=t.elements,r=i[0],n=i[1],o=i[2],a=i[3],s=i[4],c=i[5],u=i[6],h=i[7],l=i[8],p=i[9],d=i[10],f=i[11],m=i[12],g=i[13],v=i[14],y=i[15];return e[0].setComponents(a-r,h-s,f-l,y-m).normalize(),e[1].setComponents(a+r,h+s,f+l,y+m).normalize(),e[2].setComponents(a+n,h+c,f+p,y+g).normalize(),e[3].setComponents(a-n,h-c,f-p,y-g).normalize(),e[4].setComponents(a-o,h-u,f-d,y-v).normalize(),e[5].setComponents(a+o,h+u,f+d,y+v).normalize(),this},intersectsObject:function(){var t=new ct;return function(e){var i=e.geometry;return null===i.boundingSphere&&i.computeBoundingSphere(),t.copy(i.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSprite:function(){var t=new ct;return function(e){return t.center.set(0,0,0),t.radius=.7071067811865476,t.applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSphere:function(t){for(var e=this.planes,i=t.center,r=-t.radius,n=0;n<6;n++)if(e[n].distanceToPoint(i)0?i.min.x:i.max.x,e.x=o.normal.x>0?i.max.x:i.min.x,t.y=o.normal.y>0?i.min.y:i.max.y,e.y=o.normal.y>0?i.max.y:i.min.y,t.z=o.normal.z>0?i.min.z:i.max.z,e.z=o.normal.z>0?i.max.z:i.min.z;var a=o.distanceToPoint(t),s=o.distanceToPoint(e);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(t){for(var e=this.planes,i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}}),Object.assign(dt.prototype,{set:function(t,e){return this.origin.copy(t),this.direction.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,e){return(e||new g).copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(){var t=new g;return function(e){return this.origin.copy(this.at(e,t)),this}}(),closestPointToPoint:function(t,e){var i=e||new g;i.subVectors(t,this.origin);var r=i.dot(this.direction);return r<0?i.copy(this.origin):i.copy(this.direction).multiplyScalar(r).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(){var t=new g;return function(e){var i=t.subVectors(e,this.origin).dot(this.direction);return i<0?this.origin.distanceToSquared(e):(t.copy(this.direction).multiplyScalar(i).add(this.origin),t.distanceToSquared(e))}}(),distanceSqToSegment:function(){var t=new g,e=new g,i=new g;return function(r,n,o,a){t.copy(r).add(n).multiplyScalar(.5),e.copy(n).sub(r).normalize(),i.copy(this.origin).sub(t);var s,c,u,h,l=.5*r.distanceTo(n),p=-this.direction.dot(e),d=i.dot(this.direction),f=-i.dot(e),m=i.lengthSq(),g=Math.abs(1-p*p);if(g>0)if(s=p*f-d,c=p*d-f,h=l*g,s>=0)if(c>=-h)if(c<=h){var v=1/g;u=(s*=v)*(s+p*(c*=v)+2*d)+c*(p*s+c+2*f)+m}else c=l,u=-(s=Math.max(0,-(p*c+d)))*s+c*(c+2*f)+m;else c=-l,u=-(s=Math.max(0,-(p*c+d)))*s+c*(c+2*f)+m;else c<=-h?u=-(s=Math.max(0,-(-p*l+d)))*s+(c=s>0?-l:Math.min(Math.max(-l,-f),l))*(c+2*f)+m:c<=h?(s=0,u=(c=Math.min(Math.max(-l,-f),l))*(c+2*f)+m):u=-(s=Math.max(0,-(p*l+d)))*s+(c=s>0?l:Math.min(Math.max(-l,-f),l))*(c+2*f)+m;else c=p>0?-l:l,u=-(s=Math.max(0,-(p*c+d)))*s+c*(c+2*f)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(e).multiplyScalar(c).add(t),u}}(),intersectSphere:function(){var t=new g;return function(e,i){t.subVectors(e.center,this.origin);var r=t.dot(this.direction),n=t.dot(t)-r*r,o=e.radius*e.radius;if(n>o)return null;var a=Math.sqrt(o-n),s=r-a,c=r+a;return s<0&&c<0?null:s<0?this.at(c,i):this.at(s,i)}}(),intersectsSphere:function(t){return this.distanceToPoint(t.center)<=t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;var i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null},intersectPlane:function(t,e){var i=this.distanceToPlane(t);return null===i?null:this.at(i,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0},intersectBox:function(t,e){var i,r,n,o,a,s,c=1/this.direction.x,u=1/this.direction.y,h=1/this.direction.z,l=this.origin;return c>=0?(i=(t.min.x-l.x)*c,r=(t.max.x-l.x)*c):(i=(t.max.x-l.x)*c,r=(t.min.x-l.x)*c),u>=0?(n=(t.min.y-l.y)*u,o=(t.max.y-l.y)*u):(n=(t.max.y-l.y)*u,o=(t.min.y-l.y)*u),i>o||n>r?null:((n>i||i!==i)&&(i=n),(o=0?(a=(t.min.z-l.z)*h,s=(t.max.z-l.z)*h):(a=(t.max.z-l.z)*h,s=(t.min.z-l.z)*h),i>s||a>r?null:((a>i||i!==i)&&(i=a),(s=0?i:r,e)))},intersectsBox:function(){var t=new g;return function(e){return null!==this.intersectBox(e,t)}}(),intersectTriangle:function(){var t=new g,e=new g,i=new g,r=new g;return function(n,o,a,s,c){e.subVectors(o,n),i.subVectors(a,n),r.crossVectors(e,i);var u,h=this.direction.dot(r);if(h>0){if(s)return null;u=1}else{if(!(h<0))return null;u=-1,h=-h}t.subVectors(this.origin,n);var l=u*this.direction.dot(i.crossVectors(t,i));if(l<0)return null;var p=u*this.direction.dot(e.cross(t));if(p<0)return null;if(l+p>h)return null;var d=-u*t.dot(r);return d<0?null:this.at(d/h,c)}}(),applyMatrix4:function(t){return this.direction.add(this.origin).applyMatrix4(t),this.origin.applyMatrix4(t),this.direction.sub(this.origin),this.direction.normalize(),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),ft.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"],ft.DefaultOrder=\"XYZ\",Object.defineProperties(ft.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(t){this._order=t,this.onChangeCallback()}}}),Object.assign(ft.prototype,{isEuler:!0,set:function(t,e,i,r){return this._x=t,this._y=e,this._z=i,this._order=r||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this.onChangeCallback(),this},setFromRotationMatrix:function(t,e,i){var r=xl.clamp,n=t.elements,o=n[0],a=n[4],s=n[8],c=n[1],u=n[5],h=n[9],l=n[2],p=n[6],d=n[10];return e=e||this._order,\"XYZ\"===e?(this._y=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-h,d),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(p,u),this._z=0)):\"YXZ\"===e?(this._x=Math.asin(-r(h,-1,1)),Math.abs(h)<.99999?(this._y=Math.atan2(s,d),this._z=Math.atan2(c,u)):(this._y=Math.atan2(-l,o),this._z=0)):\"ZXY\"===e?(this._x=Math.asin(r(p,-1,1)),Math.abs(p)<.99999?(this._y=Math.atan2(-l,d),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(c,o))):\"ZYX\"===e?(this._y=Math.asin(-r(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(p,d),this._z=Math.atan2(c,o)):(this._x=0,this._z=Math.atan2(-a,u))):\"YZX\"===e?(this._z=Math.asin(r(c,-1,1)),Math.abs(c)<.99999?(this._x=Math.atan2(-h,u),this._y=Math.atan2(-l,o)):(this._x=0,this._y=Math.atan2(s,d))):\"XZY\"===e?(this._z=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(p,u),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-h,d),this._y=0)):console.warn(\"THREE.Euler: .setFromRotationMatrix() given unsupported order: \"+e),this._order=e,!1!==i&&this.onChangeCallback(),this},setFromQuaternion:function(){var t=new v;return function(e,i,r){return t.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t,i,r)}}(),setFromVector3:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)},reorder:function(){var t=new m;return function(e){return t.setFromEuler(this),this.setFromQuaternion(t,e)}}(),equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order},fromArray:function(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t},toVector3:function(t){return t?t.set(this._x,this._y,this._z):new g(this._x,this._y,this._z)},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(mt.prototype,{set:function(t){this.mask=1<1){for(var r=0;r1)for(var r=0;r0){a.children=[];for(c=0;c0&&(o.geometries=h),l.length>0&&(o.materials=l),p.length>0&&(o.textures=p),d.length>0&&(o.images=d)}return o.object=a,o},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e){var i=this;if(void 0===e&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(var r=0;r0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),barycoordFromPoint:function(){var t=new g,e=new g,i=new g;return function(r,n,o,a,s){t.subVectors(a,n),e.subVectors(o,n),i.subVectors(r,n);var c=t.dot(t),u=t.dot(e),h=t.dot(i),l=e.dot(e),p=e.dot(i),d=c*l-u*u,f=s||new g;if(0===d)return f.set(-2,-1,-1);var m=1/d,v=(l*h-u*p)*m,y=(c*p-u*h)*m;return f.set(1-v-y,y,v)}}(),containsPoint:function(){var t=new g;return function(e,i,r,n){var o=yt.barycoordFromPoint(e,i,r,n,t);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}()}),Object.assign(yt.prototype,{set:function(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this},setFromPointsAndIndices:function(t,e,i,r){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[r]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},area:function(){var t=new g,e=new g;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),midpoint:function(t){return(t||new g).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(t){return yt.normal(this.a,this.b,this.c,t)},plane:function(t){return(t||new ht).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(t,e){return yt.barycoordFromPoint(t,this.a,this.b,this.c,e)},containsPoint:function(t){return yt.containsPoint(t,this.a,this.b,this.c)},closestPointToPoint:function(){var t=new ht,e=[new vt,new vt,new vt],i=new g,r=new g;return function(n,o){var a=o||new g,s=1/0;if(t.setFromCoplanarPoints(this.a,this.b,this.c),t.projectPoint(n,i),!0===this.containsPoint(i))a.copy(i);else{e[0].set(this.a,this.b),e[1].set(this.b,this.c),e[2].set(this.c,this.a);for(var c=0;c0,s=o[1]&&o[1].length>0,c=t.morphTargets,u=c.length;if(u>0){e=[];for(y=0;y0){h=[];for(y=0;y0)for(f=0;f0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var t,e,i,r=this;for(this.computeFaceNormals(),t=0,e=this.faces.length;t0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,i,r,n,o=this;for(i=0,r=this.faces.length;i0&&(e+=i[r].distanceTo(i[r-1])),t.lineDistances[r]=e},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new st),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new ct),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,i){if(!1===(t&&t.isGeometry))return void console.error(\"THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.\",t);var r,n=this.vertices.length,o=this.vertices,a=t.vertices,s=this.faces,c=t.faces,u=this.faceVertexUvs[0],h=t.faceVertexUvs[0],l=this.colors,p=t.colors;void 0===i&&(i=0),void 0!==e&&(r=(new ut).getNormalMatrix(e));for(var d=0,f=a.length;d=0;i--){var m=d[i];for(c.faces.splice(m,1),a=0,s=this.faceVertexUvs.length;a0,_=y.vertexNormals.length>0,w=1!==y.color.r||1!==y.color.g||1!==y.color.b,S=y.vertexColors.length>0,A=0;if(A=t(A,0,0),A=t(A,1,!0),A=t(A,2,!1),A=t(A,3,b),A=t(A,4,x),A=t(A,5,_),A=t(A,6,w),A=t(A,7,S),l.push(A),l.push(y.a,y.b,y.c),l.push(y.materialIndex),b){var M=n.faceVertexUvs[0][u];l.push(r(M[0]),r(M[1]),r(M[2]))}if(x&&l.push(e(y.normal)),_){var P=y.vertexNormals;l.push(e(P[0]),e(P[1]),e(P[2]))}if(w&&l.push(i(y.color)),S){var T=y.vertexColors;l.push(i(T[0]),i(T[1]),i(T[2]))}}return o.data={},o.data.vertices=c,o.data.normals=p,f.length>0&&(o.data.colors=f),g.length>0&&(o.data.uvs=[g]),o.data.faces=l,o},clone:function(){return(new Et).copy(this)},copy:function(t){var e,i,r,n,o,a,s=this;this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;var c=t.vertices;for(e=0,i=c.length;e65535?St:wt)(t,1):this.index=t},addAttribute:function(t,e){return!1===(e&&e.isBufferAttribute)&&!1===(e&&e.isInterleavedBufferAttribute)?(console.warn(\"THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).\"),void this.addAttribute(t,new _t(arguments[1],arguments[2]))):\"index\"===t?(console.warn(\"THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.\"),void this.setIndex(e)):(this.attributes[t]=e,this)},getAttribute:function(t){return this.attributes[t]},removeAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,e,i){this.groups.push({start:t,count:e,materialIndex:void 0!==i?i:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix:function(t){var e=this.attributes.position;void 0!==e&&(t.applyToBufferAttribute(e),e.needsUpdate=!0);var i=this.attributes.normal;return void 0!==i&&((new ut).getNormalMatrix(t).applyToBufferAttribute(i),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var t=new v;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new v;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new v;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new v;return function(e,i,r){return t.makeTranslation(e,i,r),this.applyMatrix(t),this}}(),scale:function(){var t=new v;return function(e,i,r){return t.makeScale(e,i,r),this.applyMatrix(t),this}}(),lookAt:function(){var t=new gt;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),center:function(){this.computeBoundingBox();var t=this.boundingBox.getCenter().negate();return this.translate(t.x,t.y,t.z),t},setFromObject:function(t){var e=t.geometry;if(t.isPoints||t.isLine){var i=new At(3*e.vertices.length,3),r=new At(3*e.colors.length,3);if(this.addAttribute(\"position\",i.copyVector3sArray(e.vertices)),this.addAttribute(\"color\",r.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){var n=new At(e.lineDistances.length,1);this.addAttribute(\"lineDistance\",n.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},updateFromObject:function(t){var e=t.geometry;if(t.isMesh){var i=e.__directGeometry;if(!0===e.elementsNeedUpdate&&(i=void 0,e.elementsNeedUpdate=!1),void 0===i)return this.fromGeometry(e);i.verticesNeedUpdate=e.verticesNeedUpdate,i.normalsNeedUpdate=e.normalsNeedUpdate,i.colorsNeedUpdate=e.colorsNeedUpdate,i.uvsNeedUpdate=e.uvsNeedUpdate,i.groupsNeedUpdate=e.groupsNeedUpdate,e.verticesNeedUpdate=!1,e.normalsNeedUpdate=!1,e.colorsNeedUpdate=!1,e.uvsNeedUpdate=!1,e.groupsNeedUpdate=!1,e=i}var r;return!0===e.verticesNeedUpdate&&(void 0!==(r=this.attributes.position)&&(r.copyVector3sArray(e.vertices),r.needsUpdate=!0),e.verticesNeedUpdate=!1),!0===e.normalsNeedUpdate&&(void 0!==(r=this.attributes.normal)&&(r.copyVector3sArray(e.normals),r.needsUpdate=!0),e.normalsNeedUpdate=!1),!0===e.colorsNeedUpdate&&(void 0!==(r=this.attributes.color)&&(r.copyColorsArray(e.colors),r.needsUpdate=!0),e.colorsNeedUpdate=!1),e.uvsNeedUpdate&&(void 0!==(r=this.attributes.uv)&&(r.copyVector2sArray(e.uvs),r.needsUpdate=!0),e.uvsNeedUpdate=!1),e.lineDistancesNeedUpdate&&(void 0!==(r=this.attributes.lineDistance)&&(r.copyArray(e.lineDistances),r.needsUpdate=!0),e.lineDistancesNeedUpdate=!1),e.groupsNeedUpdate&&(e.computeGroups(t.geometry),this.groups=e.groups,e.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.__directGeometry=(new Mt).fromGeometry(t),this.fromDirectGeometry(t.__directGeometry)},fromDirectGeometry:function(t){var e=this,i=new Float32Array(3*t.vertices.length);if(this.addAttribute(\"position\",new _t(i,3).copyVector3sArray(t.vertices)),t.normals.length>0){var r=new Float32Array(3*t.normals.length);this.addAttribute(\"normal\",new _t(r,3).copyVector3sArray(t.normals))}if(t.colors.length>0){var n=new Float32Array(3*t.colors.length);this.addAttribute(\"color\",new _t(n,3).copyColorsArray(t.colors))}if(t.uvs.length>0){var o=new Float32Array(2*t.uvs.length);this.addAttribute(\"uv\",new _t(o,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){var a=new Float32Array(2*t.uvs2.length);this.addAttribute(\"uv2\",new _t(a,2).copyVector2sArray(t.uvs2))}if(t.indices.length>0){var s=new(Pt(t.indices)>65535?Uint32Array:Uint16Array)(3*t.indices.length);this.setIndex(new _t(s,1).copyIndicesArray(t.indices))}this.groups=t.groups;for(var c in t.morphTargets){for(var u=[],h=t.morphTargets[c],l=0,p=h.length;l0){var m=new At(4*t.skinIndices.length,4);this.addAttribute(\"skinIndex\",m.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){var g=new At(4*t.skinWeights.length,4);this.addAttribute(\"skinWeight\",g.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new st);var t=this.attributes.position;void 0!==t?this.boundingBox.setFromBufferAttribute(t):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var t=new st,e=new g;return function(){null===this.boundingSphere&&(this.boundingSphere=new ct);var i=this.attributes.position;if(i){var r=this.boundingSphere.center;t.setFromBufferAttribute(i),t.getCenter(r);for(var n=0,o=0,a=i.count;o0&&(t.data.groups=JSON.parse(JSON.stringify(s)));var c=this.boundingSphere;return null!==c&&(t.data.boundingSphere={center:c.center.toArray(),radius:c.radius}),t},clone:function(){return(new Ct).copy(this)},copy:function(t){var e,i,r,n=this;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;var o=t.index;null!==o&&this.setIndex(o.clone());var a=t.attributes;for(e in a){var s=a[e];n.addAttribute(e,s.clone())}var c=t.morphAttributes;for(e in c){var u=[],h=c[e];for(i=0,r=h.length;i0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var i=0,r=e.length;ie.far?null:{distance:c,point:x.clone(),object:t}}function i(i,r,n,o,u,h,l,p){a.fromBufferAttribute(o,h),s.fromBufferAttribute(o,l),c.fromBufferAttribute(o,p);var g=e(i,r,n,a,s,c,b);return g&&(u&&(d.fromBufferAttribute(u,h),f.fromBufferAttribute(u,l),m.fromBufferAttribute(u,p),g.uv=t(b,a,s,c,d,f,m)),g.face=new bt(h,l,p,yt.normal(a,s,c)),g.faceIndex=h),g}var r=new v,n=new dt,o=new ct,a=new g,s=new g,c=new g,u=new g,h=new g,p=new g,d=new l,f=new l,m=new l,y=new g,b=new g,x=new g;return function(l,g){var v=this,y=this.geometry,x=this.material,_=this.matrixWorld;if(void 0!==x&&(null===y.boundingSphere&&y.computeBoundingSphere(),o.copy(y.boundingSphere),o.applyMatrix4(_),!1!==l.ray.intersectsSphere(o)&&(r.getInverse(_),n.copy(l.ray).applyMatrix4(r),null===y.boundingBox||!1!==n.intersectsBox(y.boundingBox)))){var w;if(y.isBufferGeometry){var S,A,M,P,T,E=y.index,C=y.attributes.position,I=y.attributes.uv;if(null!==E)for(P=0,T=E.count;P0&&(D=F);for(var z=0,U=B.length;zo)){var a=r.ray.origin.distanceTo(t);ar.far||n.push({distance:a,point:t.clone(),face:null,object:this})}}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),we.prototype=Object.assign(Object.create(gt.prototype),{constructor:we,copy:function(t){var e=this;gt.prototype.copy.call(this,t,!1);for(var i=t.levels,r=0,n=i.length;r1){t.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(this.matrixWorld);var n=t.distanceTo(e);r[0].object.visible=!0;for(var o=1,a=r.length;o=r[o].distance;o++)r[o-1].object.visible=!1,r[o].object.visible=!0;for(;os||(d.applyMatrix4(o.matrixWorld),(P=r.ray.origin.distanceTo(d))r.far||n.push({distance:P,point:p.clone().applyMatrix4(o.matrixWorld),index:b,face:null,faceIndex:null,object:o}))}else for(var b=0,x=v.length/3-1;bs||(d.applyMatrix4(o.matrixWorld),(P=r.ray.origin.distanceTo(d))r.far||n.push({distance:P,point:p.clone().applyMatrix4(o.matrixWorld),index:b,face:null,faceIndex:null,object:o}))}else if(c.isGeometry)for(var S=c.vertices,A=S.length,b=0;bs)){d.applyMatrix4(o.matrixWorld);var P=r.ray.origin.distanceTo(d);Pr.far||n.push({distance:P,point:p.clone().applyMatrix4(o.matrixWorld),index:b,face:null,faceIndex:null,object:o})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Ee.prototype=Object.assign(Object.create(Te.prototype),{constructor:Ee,isLineSegments:!0}),Ce.prototype=Object.assign(Object.create(Te.prototype),{constructor:Ce,isLineLoop:!0}),Ie.prototype=Object.create(nt.prototype),Ie.prototype.constructor=Ie,Ie.prototype.isPointsMaterial=!0,Ie.prototype.copy=function(t){return nt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this},Le.prototype=Object.assign(Object.create(gt.prototype),{constructor:Le,isPoints:!0,raycast:function(){var t=new v,e=new dt,i=new ct;return function(r,n){function o(t,i){var o=e.distanceSqToPoint(t);if(or.far)return;n.push({distance:u,distanceToRay:Math.sqrt(o),point:s.clone(),index:i,face:null,object:a})}}var a=this,s=this.geometry,c=this.matrixWorld,u=r.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(c),i.radius+=u,!1!==r.ray.intersectsSphere(i)){t.getInverse(c),e.copy(r.ray).applyMatrix4(t);var h=u/((this.scale.x+this.scale.y+this.scale.z)/3),l=h*h,p=new g;if(s.isBufferGeometry){var d=s.index,f=s.attributes.position.array;if(null!==d)for(var m=d.array,v=0,y=m.length;v=-Number.EPSILON&&E>=-Number.EPSILON&&T>=-Number.EPSILON))return!1;return!0}return function(e,i){var r=e.length;if(r<3)return null;var n,o,a,s=[],c=[],u=[];if(Fl.area(e)>0)for(o=0;o2;){if(l--<=0)return console.warn(\"THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()\"),i?u:s;if(n=o,h<=n&&(n=0),o=n+1,h<=o&&(o=0),a=o+1,h<=a&&(a=0),t(e,n,o,a,h,c)){var p,d,f,m,g;for(p=c[n],d=c[o],f=c[a],s.push([e[p],e[d],e[f]]),u.push([c[n],c[o],c[a]]),m=o,g=o+1;g2&&t[e-1].equals(t[0])&&t.pop()}function r(t,e,i){return t.x!==e.x?t.xNumber.EPSILON){var f;if(p>0){if(d<0||d>p)return[];if((f=u*h-c*l)<0||f>p)return[]}else{if(d>0||d0||fM?[]:x===M?o?[]:[y]:_<=M?[y,b]:[y,S]}function o(t,e,i,r){var n=e.x-t.x,o=e.y-t.y,a=i.x-t.x,s=i.y-t.y,c=r.x-t.x,u=r.y-t.y,h=n*s-o*a,l=n*u-o*c;if(Math.abs(h)>Number.EPSILON){var p=c*s-u*a;return h>0?l>=0&&p>=0:l>=0||p>=0}return l>0}i(t),e.forEach(i);for(var a,s,c,u,h,l,p={},d=t.concat(),f=0,m=e.length;f0;){if(--_<0){console.log(\"Infinite Loop! Holes left:\"+g.length+\", Probably Hole outside Shape!\");break}for(a=x;ar&&(a=0);var s=o(m[t],m[n],m[a],i[e]);if(!s)return!1;var c=i.length-1,u=e-1;u<0&&(u=c);var h=e+1;return h>c&&(h=0),!!(s=o(i[e],i[u],i[h],m[t]))}(a,w)&&!function(t,e){var i,r;for(i=0;i0)return!0;return!1}(s,c)&&!function(t,i){var r,o,a,s;for(r=0;r0)return!0;return!1}(s,c)){r=w,g.splice(y,1),l=m.slice(0,a+1),p=m.slice(a),d=i.slice(r),f=i.slice(0,r+1),m=l.concat(d).concat(f).concat(p),x=a;break}if(r>=0)break;v[h]=!0}if(r>=0)break}}return m}(t,e),v=Fl.triangulate(g,!1);for(a=0,s=v.length;aNumber.EPSILON){var d=Math.sqrt(h),f=Math.sqrt(c*c+u*u),m=e.x-s/d,g=e.y+a/d,v=((i.x-u/f-m)*u-(i.y+c/f-g)*c)/(a*u-s*c),y=(r=m+a*v-t.x)*r+(n=g+s*v-t.y)*n;if(y<=2)return new l(r,n);o=Math.sqrt(y/2)}else{var b=!1;a>Number.EPSILON?c>Number.EPSILON&&(b=!0):a<-Number.EPSILON?c<-Number.EPSILON&&(b=!0):Math.sign(s)===Math.sign(u)&&(b=!0),b?(r=-s,n=a,o=Math.sqrt(h)):(r=a,n=s,o=Math.sqrt(h/2))}return new l(r/o,n/o)}function n(t,e){var i,r;for(K=t.length;--K>=0;){i=K,(r=K-1)<0&&(r=t.length-1);var n=0,o=E+2*M;for(n=0;n=0;G--){for($=G/M,H=S*Math.cos($*Math.PI/2),V=A*Math.sin($*Math.PI/2),K=0,Q=j.length;K0||0===t.search(/^data\\:image\\/jpeg/);o.format=i?Hh:Wh,o.needsUpdate=!0,void 0!==e&&e(o)},i,r),o},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Ni.prototype=Object.assign(Object.create(gt.prototype),{constructor:Ni,isLight:!0,copy:function(t){return gt.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){var e=gt.prototype.toJSON.call(this,t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}),ki.prototype=Object.assign(Object.create(Ni.prototype),{constructor:ki,isHemisphereLight:!0,copy:function(t){return Ni.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(Bi.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var t={};return 0!==this.bias&&(t.bias=this.bias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}),Fi.prototype=Object.assign(Object.create(Bi.prototype),{constructor:Fi,isSpotLightShadow:!0,update:function(t){var e=this.camera,i=2*xl.RAD2DEG*t.angle,r=this.mapSize.width/this.mapSize.height,n=t.distance||e.far;i===e.fov&&r===e.aspect&&n===e.far||(e.fov=i,e.aspect=r,e.far=n,e.updateProjectionMatrix())}}),zi.prototype=Object.assign(Object.create(Ni.prototype),{constructor:zi,isSpotLight:!0,copy:function(t){return Ni.prototype.copy.call(this,t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),Ui.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Ui,isPointLight:!0,copy:function(t){return Ni.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),ji.prototype=Object.assign(Object.create(Bi.prototype),{constructor:ji}),Gi.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Gi,isDirectionalLight:!0,copy:function(t){return Ni.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),Vi.prototype=Object.assign(Object.create(Ni.prototype),{constructor:Vi,isAmbientLight:!0}),$i.prototype=Object.assign(Object.create(Ni.prototype),{constructor:$i,isRectAreaLight:!0,copy:function(t){return Ni.prototype.copy.call(this,t),this.width=t.width,this.height=t.height,this},toJSON:function(t){var e=Ni.prototype.toJSON.call(this,t);return e.object.width=this.width,e.object.height=this.height,e}});var Vl={arraySlice:function(t,e,i){return Vl.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==i?i:t.length)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&t.constructor===e?t:\"number\"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){function e(e,i){return t[e]-t[i]}for(var i=t.length,r=new Array(i),n=0;n!==i;++n)r[n]=n;return r.sort(e),r},sortedArray:function(t,e,i){for(var r=t.length,n=new t.constructor(r),o=0,a=0;a!==r;++o)for(var s=i[o]*e,c=0;c!==e;++c)n[a++]=t[s+c];return n},flattenJSON:function(t,e,i,r){for(var n=1,o=t[0];void 0!==o&&void 0===o[r];)o=t[n++];if(void 0!==o){var a=o[r];if(void 0!==a)if(Array.isArray(a))do{void 0!==(a=o[r])&&(e.push(o.time),i.push.apply(i,a)),o=t[n++]}while(void 0!==o);else if(void 0!==a.toArray)do{void 0!==(a=o[r])&&(e.push(o.time),a.toArray(i,i.length)),o=t[n++]}while(void 0!==o);else do{void 0!==(a=o[r])&&(e.push(o.time),i.push(a)),o=t[n++]}while(void 0!==o)}}};Object.assign(Hi.prototype,{evaluate:function(t){var e=this,i=this.parameterPositions,r=this._cachedIndex,n=i[r],o=i[r-1];t:{e:{var a;i:{r:if(!(t=o)break t;var s=i[1];t=o)break e}a=r,r=0}}for(;r>>1;te;)--o;if(++o,0!==n||o!==r){n>=o&&(n=(o=Math.max(o,1))-1);var a=this.getValueSize();this.times=Vl.arraySlice(i,n,o),this.values=Vl.arraySlice(this.values,n*a,o*a)}return this},validate:function(){var t=this,e=!0,i=this.getValueSize();i-Math.floor(i)!=0&&(console.error(\"invalid value size in track\",this),e=!1);var r=this.times,n=this.values,o=r.length;0===o&&(console.error(\"track is empty\",this),e=!1);for(var a=null,s=0;s!==o;s++){var c=r[s];if(\"number\"==typeof c&&isNaN(c)){console.error(\"time is not a valid number\",t,s,c),e=!1;break}if(null!==a&&a>c){console.error(\"out of order keys\",t,s,c,a),e=!1;break}a=c}if(void 0!==n&&Vl.isTypedArray(n))for(var s=0,u=n.length;s!==u;++s){var h=n[s];if(isNaN(h)){console.error(\"value is not a valid number\",t,s,h),e=!1;break}}return e},optimize:function(){for(var t=this.times,e=this.values,i=this.getValueSize(),r=2302===this.getInterpolation(),n=1,o=t.length-1,a=1;a0){t[n]=t[o];for(var f=o*i,m=n*i,p=0;p!==i;++p)e[m+p]=e[f+p];++n}return n!==t.length&&(this.times=Vl.arraySlice(t,0,n),this.values=Vl.arraySlice(e,0,n*i)),this}},Zi.prototype=Object.assign(Object.create($l),{constructor:Zi,ValueTypeName:\"vector\"}),Ki.prototype=Object.assign(Object.create(Hi.prototype),{constructor:Ki,interpolate_:function(t,e,i,r){for(var n=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,c=(i-e)/(r-e),u=s+a;s!==u;s+=4)m.slerpFlat(n,0,o,s-a,o,s,c);return n}}),Qi.prototype=Object.assign(Object.create($l),{constructor:Qi,ValueTypeName:\"quaternion\",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(t){return new Ki(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),Ji.prototype=Object.assign(Object.create($l),{constructor:Ji,ValueTypeName:\"number\"}),tr.prototype=Object.assign(Object.create($l),{constructor:tr,ValueTypeName:\"string\",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),er.prototype=Object.assign(Object.create($l),{constructor:er,ValueTypeName:\"bool\",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),ir.prototype=Object.assign(Object.create($l),{constructor:ir,ValueTypeName:\"color\"}),rr.prototype=$l,$l.constructor=rr,Object.assign(rr,{parse:function(t){if(void 0===t.type)throw new Error(\"track type undefined, can not parse\");var e=rr._getTrackTypeForValueTypeName(t.type);if(void 0===t.times){var i=[],r=[];Vl.flattenJSON(t.keys,i,r,\"value\"),t.times=i,t.values=r}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)},toJSON:function(t){var e,i=t.constructor;if(void 0!==i.toJSON)e=i.toJSON(t);else{e={name:t.name,times:Vl.convertArray(t.times,Array),values:Vl.convertArray(t.values,Array)};var r=t.getInterpolation();r!==t.DefaultInterpolation&&(e.interpolation=r)}return e.type=t.ValueTypeName,e},_getTrackTypeForValueTypeName:function(t){switch(t.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return Ji;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return Zi;case\"color\":return ir;case\"quaternion\":return Qi;case\"bool\":case\"boolean\":return er;case\"string\":return tr}throw new Error(\"Unsupported typeName: \"+t)}}),Object.assign(nr,{parse:function(t){for(var e=[],i=t.tracks,r=1/(t.fps||1),n=0,o=i.length;n!==o;++n)e.push(rr.parse(i[n]).scale(r));return new nr(t.name,t.duration,e)},toJSON:function(t){for(var e=[],i=t.tracks,r={name:t.name,duration:t.duration,tracks:e},n=0,o=i.length;n!==o;++n)e.push(rr.toJSON(i[n]));return r},CreateFromMorphTargetSequence:function(t,e,i,r){for(var n=e.length,o=[],a=0;a1){var c=r[h=s[1]];c||(r[h]=c=[]),c.push(a)}}var u=[];for(var h in r)u.push(nr.CreateFromMorphTargetSequence(h,r[h],e,i));return u},parseAnimation:function(t,e){if(!t)return console.error(\" no animation in JSONLoader data\"),null;for(var i=function(t,e,i,r,n){if(0!==i.length){var o=[],a=[];Vl.flattenJSON(i,o,a,r),0!==o.length&&n.push(new t(e,o,a))}},r=[],n=t.name||\"default\",o=t.length||-1,a=t.fps||30,s=t.hierarchy||[],c=0;c1?t.skinWeights[r+1]:0,s=i>2?t.skinWeights[r+2]:0,c=i>3?t.skinWeights[r+3]:0;e.skinWeights.push(new d(o,a,s,c))}if(t.skinIndices)for(var r=0,n=t.skinIndices.length;r1?t.skinIndices[r+1]:0,l=i>2?t.skinIndices[r+2]:0,p=i>3?t.skinIndices[r+3]:0;e.skinIndices.push(new d(u,h,l,p))}e.bones=t.bones,e.bones&&e.bones.length>0&&(e.skinWeights.length!==e.skinIndices.length||e.skinIndices.length!==e.vertices.length)&&console.warn(\"When skinning, number of vertices (\"+e.vertices.length+\"), skinIndices (\"+e.skinIndices.length+\"), and skinWeights (\"+e.skinWeights.length+\") should match.\")}function i(t,e){var i=t.scale;if(void 0!==t.morphTargets)for(var r=0,n=t.morphTargets.length;r0){console.warn('THREE.JSONLoader: \"morphColors\" no longer supported. Using them as face colors.');for(var h=e.faces,l=t.morphColors[0].colors,r=0,n=h.length;r0&&(e.animations=i)}return function(n,o){void 0!==n.data&&(n=n.data),void 0!==n.scale?n.scale=1/n.scale:n.scale=1;var a=new Et;return t(n,a),e(n,a),i(n,a),r(n,a),a.computeFaceNormals(),a.computeBoundingSphere(),void 0===n.materials||0===n.materials.length?{geometry:a}:{geometry:a,materials:sr.prototype.initMaterials(n.materials,o,this.crossOrigin)}}}()}),Object.assign(ur.prototype,{load:function(t,e,i,r){\"\"===this.texturePath&&(this.texturePath=t.substring(0,t.lastIndexOf(\"/\")+1));var n=this;new Ci(n.manager).load(t,function(i){var o=null;try{o=JSON.parse(i)}catch(e){return void 0!==r&&r(e),void console.error(\"THREE:ObjectLoader: Can't parse \"+t+\".\",e.message)}var a=o.metadata;if(void 0===a||void 0===a.type||\"geometry\"===a.type.toLowerCase())return void console.error(\"THREE.ObjectLoader: Can't load \"+t+\". Use THREE.JSONLoader instead.\");n.parse(o,e)},i,r)},setTexturePath:function(t){this.texturePath=t},setCrossOrigin:function(t){this.crossOrigin=t},parse:function(t,e){var i=this.parseGeometries(t.geometries),r=this.parseImages(t.images,function(){void 0!==e&&e(a)}),n=this.parseTextures(t.textures,r),o=this.parseMaterials(t.materials,n),a=this.parseObject(t.object,i,o);return t.animations&&(a.animations=this.parseAnimations(t.animations)),void 0!==t.images&&0!==t.images.length||void 0!==e&&e(a),a},parseGeometries:function(t){var e=this,i={};if(void 0!==t)for(var r=new cr,n=new ar,o=0,a=t.length;o0){var n=new Ri(new Ei(e));n.setCrossOrigin(this.crossOrigin);for(var o=0,a=t.length;o0?new Me(c,u):new It(c,u);break;case\"LOD\":a=new we;break;case\"Line\":a=new Te(n(e.geometry),o(e.material),e.mode);break;case\"LineLoop\":a=new Ce(n(e.geometry),o(e.material));break;case\"LineSegments\":a=new Ee(n(e.geometry),o(e.material));break;case\"PointCloud\":case\"Points\":a=new Le(n(e.geometry),o(e.material));break;case\"Sprite\":a=new _e(o(e.material));break;case\"Group\":a=new Re;break;default:a=new gt}if(a.uuid=e.uuid,void 0!==e.name&&(a.name=e.name),void 0!==e.matrix?(t.fromArray(e.matrix),t.decompose(a.position,a.quaternion,a.scale)):(void 0!==e.position&&a.position.fromArray(e.position),void 0!==e.rotation&&a.rotation.fromArray(e.rotation),void 0!==e.quaternion&&a.quaternion.fromArray(e.quaternion),void 0!==e.scale&&a.scale.fromArray(e.scale)),void 0!==e.castShadow&&(a.castShadow=e.castShadow),void 0!==e.receiveShadow&&(a.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(a.shadow.bias=e.shadow.bias),void 0!==e.shadow.radius&&(a.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&a.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(a.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(a.visible=e.visible),void 0!==e.userData&&(a.userData=e.userData),void 0!==e.children)for(var h in e.children)a.add(s.parseObject(e.children[h],i,r));if(\"LOD\"===e.type)for(var l=e.levels,p=0;p0)){c=n;break}c=n-1}if(n=c,r[n]===i)return n/(o-1);var u=r[n];return(n+(i-u)/(r[n+1]-u))/(o-1)},getTangent:function(t){var e=t-1e-4,i=t+1e-4;e<0&&(e=0),i>1&&(i=1);var r=this.getPoint(e);return this.getPoint(i).clone().sub(r).normalize()},getTangentAt:function(t){var e=this.getUtoTmapping(t);return this.getTangent(e)},computeFrenetFrames:function(t,e){var i,r,n,o=this,a=new g,s=[],c=[],u=[],h=new g,l=new v;for(i=0;i<=t;i++)r=i/t,s[i]=o.getTangentAt(r),s[i].normalize();c[0]=new g,u[0]=new g;var p=Number.MAX_VALUE,d=Math.abs(s[0].x),f=Math.abs(s[0].y),m=Math.abs(s[0].z);for(d<=p&&(p=d,a.set(1,0,0)),f<=p&&(p=f,a.set(0,1,0)),m<=p&&a.set(0,0,1),h.crossVectors(s[0],a).normalize(),c[0].crossVectors(s[0],h),u[0].crossVectors(s[0],c[0]),i=1;i<=t;i++)c[i]=c[i-1].clone(),u[i]=u[i-1].clone(),h.crossVectors(s[i-1],s[i]),h.length()>Number.EPSILON&&(h.normalize(),n=Math.acos(xl.clamp(s[i-1].dot(s[i]),-1,1)),c[i].applyMatrix4(l.makeRotationAxis(h,n))),u[i].crossVectors(s[i],c[i]);if(!0===e)for(n=Math.acos(xl.clamp(c[0].dot(c[t]),-1,1)),n/=t,s[0].dot(h.crossVectors(c[0],c[t]))>0&&(n=-n),i=1;i<=t;i++)c[i].applyMatrix4(l.makeRotationAxis(s[i],n*i)),u[i].crossVectors(s[i],c[i]);return{tangents:s,normals:c,binormals:u}}}),_r.prototype=Object.create(xr.prototype),_r.prototype.constructor=_r,_r.prototype.isLineCurve=!0,_r.prototype.getPoint=function(t){if(1===t)return this.v2.clone();var e=this.v2.clone().sub(this.v1);return e.multiplyScalar(t).add(this.v1),e},_r.prototype.getPointAt=function(t){return this.getPoint(t)},_r.prototype.getTangent=function(t){return this.v2.clone().sub(this.v1).normalize()},wr.prototype=Object.assign(Object.create(xr.prototype),{constructor:wr,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new _r(e,t))},getPoint:function(t){for(var e=this,i=t*this.getLength(),r=this.getCurveLengths(),n=0;n=i){var o=r[n]-i,a=e.curves[n],s=a.getLength(),c=0===s?0:1-o/s;return a.getPointAt(c)}n++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){var t=this;if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var e=[],i=0,r=0,n=this.curves.length;r1&&!i[i.length-1].equals(i[0])&&i.push(i[0]),i},createPointsGeometry:function(t){var e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){var e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){for(var e=new Et,i=0,r=t.length;ie;)i-=e;ie.length-2?e.length-1:r+1],c=e[r>e.length-3?e.length-1:r+2];return new l(hr(n,o.x,a.x,s.x,c.x),hr(n,o.y,a.y,s.y,c.y))},Mr.prototype=Object.create(xr.prototype),Mr.prototype.constructor=Mr,Mr.prototype.getPoint=function(t){var e=this.v0,i=this.v1,r=this.v2,n=this.v3;return new l(br(t,e.x,i.x,r.x,n.x),br(t,e.y,i.y,r.y,n.y))},Pr.prototype=Object.create(xr.prototype),Pr.prototype.constructor=Pr,Pr.prototype.getPoint=function(t){var e=this.v0,i=this.v1,r=this.v2;return new l(fr(t,e.x,i.x,r.x),fr(t,e.y,i.y,r.y))};var Yl=Object.assign(Object.create(wr.prototype),{fromPoints:function(t){var e=this;this.moveTo(t[0].x,t[0].y);for(var i=1,r=t.length;i0){var u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);var h=c.getPoint(1);this.currentPoint.copy(h)}});Tr.prototype=Yl,Yl.constructor=Tr,Er.prototype=Object.assign(Object.create(Yl),{constructor:Er,getPointsHoles:function(t){for(var e=this,i=[],r=0,n=this.holes.length;r1){for(var v=!1,y=[],b=0,x=p.length;bNumber.EPSILON){if(u<0&&(a=e[o],c=-c,s=e[n],u=-u),t.ys.y)continue;if(t.y===a.y){if(t.x===a.x)return!0}else{var h=u*(t.x-a.x)-c*(t.y-a.y);if(0===h)return!0;if(h<0)continue;r=!r}}else{if(t.y!==a.y)continue;if(s.x<=t.x&&t.x<=a.x||a.x<=t.x&&t.x<=s.x)return!0}}return r})(S.p,p[M].p)&&(b!==M&&y.push({froms:b,tos:M,hole:w}),A?(A=!1,l[M].push(S)):v=!0);A&&l[b].push(S)}y.length>0&&(v||(d=l))}for(var P,m=0,T=p.length;m0){this.source.connect(this.filters[0]);for(var e=1,i=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(var e=1,i=this.filters.length;e=.5)for(var o=0;o!==n;++o)t[e+o]=t[i+o]},_slerp:function(t,e,i,r){m.slerpFlat(t,e,t,e,t,i,r)},_lerp:function(t,e,i,r,n){for(var o=1-r,a=0;a!==n;++a){var s=e+a;t[s]=t[s]*o+t[i+a]*r}}}),Object.assign(Ur.prototype,{getValue:function(t,e){this.bind();var i=this._targetGroup.nCachedObjects_,r=this._bindings[i];void 0!==r&&r.getValue(t,e)},setValue:function(t,e){for(var i=this._bindings,r=this._targetGroup.nCachedObjects_,n=i.length;r!==n;++r)i[r].setValue(t,e)},bind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()},unbind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}}),Object.assign(jr,{Composite:Ur,create:function(t,e,i){return t&&t.isAnimationObjectGroup?new jr.Composite(t,e,i):new jr(t,e,i)},parseTrackName:function(){var t=new RegExp(\"^\"+/((?:[\\w-]+[\\/:])*)/.source+/([\\w-\\.]+)?/.source+/(?:\\.([\\w-]+)(?:\\[(.+)\\])?)?/.source+/\\.([\\w-]+)(?:\\[(.+)\\])?/.source+\"$\"),e=[\"material\",\"materials\",\"bones\"];return function(i){var r=t.exec(i);if(!r)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+i);var n={nodeName:r[2],objectName:r[3],objectIndex:r[4],propertyName:r[5],propertyIndex:r[6]},o=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==o&&-1!==o){var a=n.nodeName.substring(o+1);-1!==e.indexOf(a)&&(n.nodeName=n.nodeName.substring(0,o),n.objectName=a)}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+i);return n}}(),findNode:function(t,e){if(!e||\"\"===e||\"root\"===e||\".\"===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){var i=function(t){for(var i=0;i=r){var p=r++,d=i[p];n[d.uuid]=l,i[l]=d,n[h]=p,i[p]=u;for(var f=0,m=a;f!==m;++f){var g=o[f],v=g[p],y=g[l];g[l]=v,g[p]=y}}}this.nCachedObjects_=r},uncache:function(t){for(var e=arguments,i=this._objects,r=i.length,n=this.nCachedObjects_,o=this._indicesByUUID,a=this._bindings,s=a.length,c=0,u=arguments.length;c!==u;++c){var h=e[c].uuid,l=o[h];if(void 0!==l)if(delete o[h],l0)for(var c=this._interpolants,u=this._propertyBindings,h=0,l=c.length;h!==l;++h)c[h].evaluate(a),u[h].accumulate(r,s)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var i=this._weightInterpolant;if(null!==i){var r=i.evaluate(t)[0];e*=r,t>i.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var i=this._timeScaleInterpolant;null!==i&&(e*=i.evaluate(t)[0],t>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e))}return this._effectiveTimeScale=e,e},_updateTime:function(t){var e=this.time+t;if(0===t)return e;var i=this._clip.duration,r=this.loop,n=this._loopCount;if(2200===r){-1===n&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(e>=i)e=i;else{if(!(e<0))break t;e=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t<0?-1:1})}}else{var o=2202===r;if(-1===n&&(t>=0?(n=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),e>=i||e<0){var a=Math.floor(e/i);e-=i*a,n+=Math.abs(a);var s=this.repetitions-n;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=t>0?i:0,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:t>0?1:-1});else{if(0===s){var c=t<0;this._setEndings(c,!c,o)}else this._setEndings(!1,!1,o);this._loopCount=n,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:a})}}if(o&&1==(1&n))return this.time=e,i-e}return this.time=e,e},_setEndings:function(t,e,i){var r=this._interpolantSettings;i?(r.endingStart=2401,r.endingEnd=2401):(r.endingStart=t?this.zeroSlopeAtStart?2401:sl:2402,r.endingEnd=e?this.zeroSlopeAtEnd?2401:sl:2402)},_scheduleFading:function(t,e,i){var r=this._mixer,n=r.time,o=this._weightInterpolant;null===o&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=n,s[0]=e,a[1]=n+t,s[1]=i,this}}),Object.assign($r.prototype,h.prototype,{_bindAction:function(t,e){var i=this,r=t._localRoot||this._root,n=t._clip.tracks,o=n.length,a=t._propertyBindings,s=t._interpolants,c=r.uuid,u=this._bindingsByRootAndName,h=u[c];void 0===h&&(h={},u[c]=h);for(var l=0;l!==o;++l){var p=n[l],d=p.name,f=h[d];if(void 0!==f)a[l]=f;else{if(void 0!==(f=a[l])){null===f._cacheIndex&&(++f.referenceCount,i._addInactiveBinding(f,c,d));continue}var m=e&&e._propertyBindings[l].binding.parsedPath;++(f=new zr(jr.create(r,d,m),p.ValueTypeName,p.getValueSize())).referenceCount,i._addInactiveBinding(f,c,d),a[l]=f}s[l].resultBuffer=f.buffer}},_activateAction:function(t){var e=this;if(!this._isActiveAction(t)){if(null===t._cacheIndex){var i=(t._localRoot||this._root).uuid,r=t._clip.uuid,n=this._actionsByClip[r];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,r,i)}for(var o=t._propertyBindings,a=0,s=o.length;a!==s;++a){var c=o[a];0==c.useCount++&&(e._lendBinding(c),c.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){var e=this;if(this._isActiveAction(t)){for(var i=t._propertyBindings,r=0,n=i.length;r!==n;++r){var o=i[r];0==--o.useCount&&(o.restoreOriginalState(),e._takeBackBinding(o))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){var e=t._cacheIndex;return null!==e&&e0?0:(Math.floor(Math.abs(n)/e.length)+1)*e.length:0===o&&n===i-1&&(n=i-2,o=1);var a,s,c,u;if(this.closed||n>0?a=e[(n-1)%i]:(Ql.subVectors(e[0],e[1]).add(e[0]),a=Ql),s=e[n%i],c=e[(n+1)%i],this.closed||n+2i&&(t=i),t},Pd=function(t){return t.length>=3?[].slice.call(t):t[0]},Ap=function(t){var e,i;for(t._clipped=!1,t._unclipped=t.slice(0),e=i=0;i<3;e=++i)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255)):3===e&&(t[e]<0&&(t[e]=0),t[e]>1&&(t[e]=1));return t._clipped||delete t._unclipped,t},cp=Math.PI,xd=Math.round,Pp=Math.cos,Lp=Math.floor,nd=Math.pow,Zp=Math.log,wd=Math.sin,Sd=Math.sqrt,vp=Math.atan2,Jp=Math.max,gp=Math.abs,lp=2*cp,up=cp/3,ap=cp/180,hp=180/cp,mp=[],(Sp=function(){return arguments[0]instanceof op?arguments[0]:function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,arguments,function(){})}).version=\"1.3.3\",fp={},pp=[],dp=!1,op=function(){function t(){var t,e,i,r,n,o,a,s,c,u=arguments;for(o=this,e=[],s=0,r=arguments.length;s3?e[3]:1]},Cd=function(t){return 255*(t<=.00304?12.92*t:1.055*nd(t,1/2.4)-.055)},Hp=function(t){return t>sp.t1?t*t*t:sp.t2*(t-sp.t0)},sp={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},pd=function(){var t,e,i,r,n,o,a,s;return r=Pd(arguments),i=r[0],e=r[1],t=r[2],n=vd(i,e,t),o=n[0],a=n[1],s=n[2],[116*a-16,500*(o-a),200*(a-s)]},yd=function(t){return(t/=255)<=.04045?t/12.92:nd((t+.055)/1.055,2.4)},Ed=function(t){return t>sp.t3?nd(t,1/3):t/sp.t2+sp.t0},vd=function(){var t,e,i,r,n,o,a;return r=Pd(arguments),i=r[0],e=r[1],t=r[2],i=yd(i),e=yd(e),t=yd(t),n=Ed((.4124564*i+.3575761*e+.1804375*t)/sp.Xn),o=Ed((.2126729*i+.7151522*e+.072175*t)/sp.Yn),a=Ed((.0193339*i+.119192*e+.9503041*t)/sp.Zn),[n,o,a]},Sp.lab=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"lab\"]),function(){})},fp.lab=$p,op.prototype.lab=function(){return pd(this._rgb)},yp=function(t){var e,i,r,n,o,a,s,c,u,h,l;return t=function(){var e,i,r;for(r=[],i=0,e=t.length;i=360;)i-=360;d[u]=i}return Sp(d,e).alpha(r/h)},fp.rgb=function(){var t,e,i,r;e=Pd(arguments),i=[];for(t in e)r=e[t],i.push(r);return i},Sp.rgb=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"rgb\"]),function(){})},op.prototype.rgb=function(t){return null==t&&(t=!0),t?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},op.prototype.rgba=function(t){return null==t&&(t=!0),t?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},pp.push({p:3,test:function(t){var e;return e=Pd(arguments),\"array\"===Md(e)&&3===e.length?\"rgb\":4===e.length&&\"number\"===Md(e[3])&&e[3]>=0&&e[3]<=1?\"rgb\":void 0}}),Op=function(t){var e,i,r,n,o,a;if(t.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(\"\"))[0]+t[0]+t[1]+t[1]+t[2]+t[2]),a=parseInt(t,16),n=a>>16,r=a>>8&255,i=255&a,[n,r,i,1];if(t.match(/^#?([A-Fa-f0-9]{8})$/))return 9===t.length&&(t=t.substr(1)),a=parseInt(t,16),n=a>>24&255,r=a>>16&255,i=a>>8&255,e=xd((255&a)/255*100)/100,[n,r,i,e];if(null!=fp.css&&(o=fp.css(t)))return o;throw\"unknown color: \"+t},cd=function(t,e){var i,r,n,o,a,s,c;return null==e&&(e=\"rgb\"),a=t[0],n=t[1],r=t[2],i=t[3],a=Math.round(a),n=Math.round(n),r=Math.round(r),c=a<<16|n<<8|r,s=\"000000\"+c.toString(16),s=s.substr(s.length-6),o=\"0\"+xd(255*i).toString(16),o=o.substr(o.length-2),\"#\"+function(){switch(e.toLowerCase()){case\"rgba\":return s+o;case\"argb\":return o+s;default:return s}}()},fp.hex=function(t){return Op(t)},Sp.hex=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"hex\"]),function(){})},op.prototype.hex=function(t){return null==t&&(t=\"rgb\"),cd(this._rgb,t)},pp.push({p:4,test:function(t){if(1===arguments.length&&\"string\"===Md(t))return\"hex\"}}),kp=function(){var t,e,i,r,n,o,a,s,c,u,h,l,p,d;if(t=Pd(arguments),n=t[0],h=t[1],a=t[2],0===h)c=r=e=255*a;else{for(d=[0,0,0],i=[0,0,0],l=2*a-(p=a<.5?a*(1+h):a+h-a*h),n/=360,d[0]=n+1/3,d[1]=n,d[2]=n-1/3,o=s=0;s<=2;o=++s)d[o]<0&&(d[o]+=1),d[o]>1&&(d[o]-=1),6*d[o]<1?i[o]=l+6*(p-l)*d[o]:2*d[o]<1?i[o]=p:3*d[o]<2?i[o]=l+(p-l)*(2/3-d[o])*6:i[o]=l;c=(u=[xd(255*i[0]),xd(255*i[1]),xd(255*i[2])])[0],r=u[1],e=u[2]}return t.length>3?[c,r,e,t[3]]:[c,r,e]},hd=function(t,e,i){var r,n,o,a,s;return void 0!==t&&t.length>=3&&(t=(a=t)[0],e=a[1],i=a[2]),t/=255,e/=255,i/=255,o=Math.min(t,e,i),Jp=Math.max(t,e,i),n=(Jp+o)/2,Jp===o?(s=0,r=Number.NaN):s=n<.5?(Jp-o)/(Jp+o):(Jp-o)/(2-Jp-o),t===Jp?r=(e-i)/(Jp-o):e===Jp?r=2+(i-t)/(Jp-o):i===Jp&&(r=4+(t-e)/(Jp-o)),(r*=60)<0&&(r+=360),[r,s,n]},Sp.hsl=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"hsl\"]),function(){})},fp.hsl=kp,op.prototype.hsl=function(){return hd(this._rgb)},Bp=function(){var t,e,i,r,n,o,a,s,c,u,h,l,p,d,f,m,g,v;if(t=Pd(arguments),n=t[0],m=t[1],v=t[2],v*=255,0===m)c=r=e=v;else switch(360===n&&(n=0),n>360&&(n-=360),n<0&&(n+=360),n/=60,o=Lp(n),i=n-o,a=v*(1-m),s=v*(1-m*i),g=v*(1-m*(1-i)),o){case 0:c=(u=[v,g,a])[0],r=u[1],e=u[2];break;case 1:c=(h=[s,v,a])[0],r=h[1],e=h[2];break;case 2:c=(l=[a,v,g])[0],r=l[1],e=l[2];break;case 3:c=(p=[a,s,v])[0],r=p[1],e=p[2];break;case 4:c=(d=[g,a,v])[0],r=d[1],e=d[2];break;case 5:c=(f=[v,a,s])[0],r=f[1],e=f[2]}return[c,r,e,t.length>3?t[3]:1]},ld=function(){var t,e,i,r,n,o,a,s,c;return a=Pd(arguments),o=a[0],i=a[1],t=a[2],n=Math.min(o,i,t),Jp=Math.max(o,i,t),e=Jp-n,c=Jp/255,0===Jp?(r=Number.NaN,s=0):(s=e/Jp,o===Jp&&(r=(i-t)/e),i===Jp&&(r=2+(t-o)/e),t===Jp&&(r=4+(o-i)/e),(r*=60)<0&&(r+=360)),[r,s,c]},Sp.hsv=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"hsv\"]),function(){})},fp.hsv=Bp,op.prototype.hsv=function(){return ld(this._rgb)},id=function(t){var e,i,r;return\"number\"===Md(t)&&t>=0&&t<=16777215?(r=t>>16,i=t>>8&255,e=255&t,[r,i,e,1]):(console.warn(\"unknown num color: \"+t),[0,0,0,1])},md=function(){var t,e,i,r;return r=Pd(arguments),i=r[0],e=r[1],t=r[2],(i<<16)+(e<<8)+t},Sp.num=function(t){return new op(t,\"num\")},op.prototype.num=function(t){return null==t&&(t=\"rgb\"),md(this._rgb,t)},fp.num=id,pp.push({p:1,test:function(t){if(1===arguments.length&&\"number\"===Md(t)&&t>=0&&t<=16777215)return\"num\"}}),Rp=function(){var t,e,i,r,n,o,a,s,c,u,h,l,p,d,f,m,g,v,y,b;if(i=Pd(arguments),s=i[0],n=i[1],e=i[2],n/=100,a=a/100*255,t=255*n,0===n)l=a=r=e;else switch(360===s&&(s=0),s>360&&(s-=360),s<0&&(s+=360),s/=60,c=Lp(s),o=s-c,u=e*(1-n),h=u+t*(1-o),y=u+t*o,b=u+t,c){case 0:l=(p=[b,y,u])[0],a=p[1],r=p[2];break;case 1:l=(d=[h,b,u])[0],a=d[1],r=d[2];break;case 2:l=(f=[u,b,y])[0],a=f[1],r=f[2];break;case 3:l=(m=[u,h,b])[0],a=m[1],r=m[2];break;case 4:l=(g=[y,u,b])[0],a=g[1],r=g[2];break;case 5:l=(v=[b,u,h])[0],a=v[1],r=v[2]}return[l,a,r,i.length>3?i[3]:1]},sd=function(){var t,e,i,r,n,o,a,s,c;return c=Pd(arguments),s=c[0],n=c[1],e=c[2],a=Math.min(s,n,e),Jp=Math.max(s,n,e),r=Jp-a,i=100*r/255,t=a/(255-r)*100,0===r?o=Number.NaN:(s===Jp&&(o=(n-e)/r),n===Jp&&(o=2+(e-s)/r),e===Jp&&(o=4+(s-n)/r),(o*=60)<0&&(o+=360)),[o,i,t]},Sp.hcg=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"hcg\"]),function(){})},fp.hcg=Rp,op.prototype.hcg=function(){return sd(this._rgb)},Tp=function(t){var e,i,r,n,o,a,s,c;if(t=t.toLowerCase(),null!=Sp.colors&&Sp.colors[t])return Op(Sp.colors[t]);if(o=t.match(/rgb\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*\\)/)){for(s=o.slice(1,4),n=a=0;a<=2;n=++a)s[n]=+s[n];s[3]=1}else if(o=t.match(/rgba\\(\\s*(\\-?\\d+),\\s*(\\-?\\d+)\\s*,\\s*(\\-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)/))for(s=o.slice(1,5),n=c=0;c<=3;n=++c)s[n]=+s[n];else if(o=t.match(/rgb\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/)){for(s=o.slice(1,4),n=e=0;e<=2;n=++e)s[n]=xd(2.55*s[n]);s[3]=1}else if(o=t.match(/rgba\\(\\s*(\\-?\\d+(?:\\.\\d+)?)%,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/)){for(s=o.slice(1,5),n=i=0;i<=2;n=++i)s[n]=xd(2.55*s[n]);s[3]=+s[3]}else(o=t.match(/hsl\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*\\)/))?((r=o.slice(1,4))[1]*=.01,r[2]*=.01,(s=kp(r))[3]=1):(o=t.match(/hsla\\(\\s*(\\-?\\d+(?:\\.\\d+)?),\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(\\-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)/))&&((r=o.slice(1,4))[1]*=.01,r[2]*=.01,(s=kp(r))[3]=+o[4]);return s},ad=function(t){var e;return e=t[3]<1?\"rgba\":\"rgb\",\"rgb\"===e?e+\"(\"+t.slice(0,3).map(xd).join(\",\")+\")\":\"rgba\"===e?e+\"(\"+t.slice(0,3).map(xd).join(\",\")+\",\"+t[3]+\")\":void 0},bd=function(t){return xd(100*t)/100},Np=function(t,e){var i;return i=e<1?\"hsla\":\"hsl\",t[0]=bd(t[0]||0),t[1]=bd(100*t[1])+\"%\",t[2]=bd(100*t[2])+\"%\",\"hsla\"===i&&(t[3]=e),i+\"(\"+t.join(\",\")+\")\"},fp.css=function(t){return Tp(t)},Sp.css=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"css\"]),function(){})},op.prototype.css=function(t){return null==t&&(t=\"rgb\"),\"rgb\"===t.slice(0,3)?ad(this._rgb):\"hsl\"===t.slice(0,3)?Np(this.hsl(),this.alpha()):void 0},fp.named=function(t){return Op(Td[t])},pp.push({p:5,test:function(t){if(1===arguments.length&&null!=Td[t])return\"named\"}}),op.prototype.name=function(t){var e,i;arguments.length&&(Td[t]&&(this._rgb=Op(Td[t])),this._rgb[3]=1),e=this.hex();for(i in Td)if(e===Td[i])return i;return e},Wp=function(){var t,e,i,r;return r=Pd(arguments),i=r[0],t=r[1],e=r[2],e*=ap,[i,Pp(e)*t,wd(e)*t]},Xp=function(){var t,e,i,r,n,o,a,s,c,u,h;return i=Pd(arguments),s=i[0],n=i[1],a=i[2],u=Wp(s,n,a),t=u[0],e=u[1],r=u[2],h=$p(t,e,r),c=h[0],o=h[1],r=h[2],[c,o,r,i.length>3?i[3]:1]},Vp=function(){var t,e,i,r,n,o;return o=Pd(arguments),n=o[0],t=o[1],e=o[2],i=Sd(t*t+e*e),r=(vp(e,t)*hp+360)%360,0===xd(1e4*i)&&(r=Number.NaN),[n,i,r]},dd=function(){var t,e,i,r,n,o,a;return o=Pd(arguments),n=o[0],i=o[1],e=o[2],a=pd(n,i,e),r=a[0],t=a[1],e=a[2],Vp(r,t,e)},Sp.lch=function(){var t;return t=Pd(arguments),new op(t,\"lch\")},Sp.hcl=function(){var t;return t=Pd(arguments),new op(t,\"hcl\")},fp.lch=Xp,fp.hcl=function(){var t,e,i,r;return r=Pd(arguments),e=r[0],t=r[1],i=r[2],Xp([i,t,e])},op.prototype.lch=function(){return dd(this._rgb)},op.prototype.hcl=function(){return dd(this._rgb).reverse()},od=function(t){var e,i,r,n,o,a,s,c,u;return null==t&&(t=\"rgb\"),c=Pd(arguments),s=c[0],n=c[1],e=c[2],s/=255,n/=255,e/=255,o=1-Math.max(s,Math.max(n,e)),r=o<1?1/(1-o):0,i=(1-s-o)*r,a=(1-n-o)*r,u=(1-e-o)*r,[i,a,u,o]},Mp=function(){var t,e,i,r,n,o,a,s,c;return e=Pd(arguments),r=e[0],a=e[1],c=e[2],o=e[3],t=e.length>4?e[4]:1,1===o?[0,0,0,t]:(s=r>=1?0:255*(1-r)*(1-o),n=a>=1?0:255*(1-a)*(1-o),i=c>=1?0:255*(1-c)*(1-o),[s,n,i,t])},fp.cmyk=function(){return Mp(Pd(arguments))},Sp.cmyk=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"cmyk\"]),function(){})},op.prototype.cmyk=function(){return od(this._rgb)},fp.gl=function(){var t,e,i,r,n;for(r=function(){var t,i;t=Pd(arguments),i=[];for(e in t)n=t[e],i.push(n);return i}.apply(this,arguments),t=i=0;i<=2;t=++i)r[t]*=255;return r},Sp.gl=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"gl\"]),function(){})},op.prototype.gl=function(){var t;return t=this._rgb,[t[0]/255,t[1]/255,t[2]/255,t[3]]},fd=function(t,e,i){var r;return r=Pd(arguments),t=r[0],e=r[1],i=r[2],t=Kp(t),e=Kp(e),i=Kp(i),.2126*t+.7152*e+.0722*i},Kp=function(t){return t/=255,t<=.03928?t/12.92:nd((t+.055)/1.055,2.4)},mp=[],Fp=function(t,e,i,r){var n,o,a,s;for(null==i&&(i=.5),null==r&&(r=\"rgb\"),\"object\"!==Md(t)&&(t=Sp(t)),\"object\"!==Md(e)&&(e=Sp(e)),a=0,o=mp.length;at?o(i,c):o(c,a)},i=fd(this._rgb),this._rgb=(i>t?o(Sp(\"black\"),this):o(this,Sp(\"white\"))).rgba()),this):fd(this._rgb)},Ad=function(t){var e,i,r,n;return n=t/100,n<66?(r=255,i=-155.25485562709179-.44596950469579133*(i=n-2)+104.49216199393888*Zp(i),e=n<20?0:.8274096064007395*(e=n-10)-254.76935184120902+115.67994401066147*Zp(e)):(r=351.97690566805693+.114206453784165*(r=n-55)-40.25366309332127*Zp(r),i=325.4494125711974+.07943456536662342*(i=n-50)-28.0852963507957*Zp(i),e=255),[r,i,e]},gd=function(){var t,e,i,r,n,o,a;for(r=(n=Pd(arguments))[0],n[1],t=n[2],i=1e3,e=4e4,.4;e-i>.4;)(o=Ad(a=.5*(e+i)))[2]/o[0]>=t/r?e=a:i=a;return xd(a)},Sp.temperature=Sp.kelvin=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"temperature\"]),function(){})},fp.temperature=fp.kelvin=fp.K=Ad,op.prototype.temperature=function(){return gd(this._rgb)},op.prototype.kelvin=op.prototype.temperature,Sp.contrast=function(t,e){var i,r,n,o;return\"string\"!==(n=Md(t))&&\"number\"!==n||(t=new op(t)),\"string\"!==(o=Md(e))&&\"number\"!==o||(e=new op(e)),i=t.luminance(),r=e.luminance(),i>r?(i+.05)/(r+.05):(r+.05)/(i+.05)},Sp.distance=function(t,e,i){var r,n,o,a,s,c,u;null==i&&(i=\"lab\"),\"string\"!==(s=Md(t))&&\"number\"!==s||(t=new op(t)),\"string\"!==(c=Md(e))&&\"number\"!==c||(e=new op(e)),o=t.get(i),a=e.get(i),u=0;for(n in o)u+=(r=(o[n]||0)-(a[n]||0))*r;return Math.sqrt(u)},Sp.deltaE=function(t,e,i,r){var n,o,a,s,c,u,h,l,p,d,f,m,g,v,y,b,x,_,w,S,A,M,P,T,E,C,I;for(null==i&&(i=1),null==r&&(r=1),\"string\"!==(x=Md(t))&&\"number\"!==x||(t=new op(t)),\"string\"!==(_=Md(e))&&\"number\"!==_||(e=new op(e)),n=(w=t.lab())[0],a=w[1],c=w[2],o=(S=e.lab())[0],s=S[1],u=S[2],h=Sd(a*a+c*c),l=Sd(s*s+u*u),P=n<16?.511:.040975*n/(1+.01765*n),A=.0638*h/(1+.0131*h)+.638,b=h<1e-6?0:180*vp(c,a)/cp;b<0;)b+=360;for(;b>=360;)b-=360;return T=b>=164&&b<=345?.56+gp(.2*Pp(cp*(b+168)/180)):.36+gp(.4*Pp(cp*(b+35)/180)),p=h*h*h*h,y=Sd(p/(p+1900)),M=A*(y*T+1-y),v=n-o,g=h-l,f=a-s,m=c-u,d=f*f+m*m-g*g,E=v/(i*P),C=g/(r*A),I=M,Sd(E*E+C*C+d/(I*I))},op.prototype.get=function(t){var e,i,r,n,o,a;return r=this,o=t.split(\".\"),n=o[0],e=o[1],a=r[n](),e?(i=n.indexOf(e),i>-1?a[i]:console.warn(\"unknown channel \"+e+\" in mode \"+n)):a},op.prototype.set=function(t,e){var i,r,n,o,a,s;if(n=this,a=t.split(\".\"),o=a[0],i=a[1])if(s=n[o](),(r=o.indexOf(i))>-1)if(\"string\"===Md(e))switch(e.charAt(0)){case\"+\":case\"-\":s[r]+=+e;break;case\"*\":s[r]*=+e.substr(1);break;case\"/\":s[r]/=+e.substr(1);break;default:s[r]=+e}else s[r]=e;else console.warn(\"unknown channel \"+i+\" in mode \"+o);else s=e;return Sp(s,o).alpha(n.alpha())},op.prototype.clipped=function(){return this._rgb._clipped||!1},op.prototype.alpha=function(t){return arguments.length?Sp.rgb([this._rgb[0],this._rgb[1],this._rgb[2],t]):this._rgb[3]},op.prototype.darken=function(t){var e,i;return null==t&&(t=1),i=this,e=i.lab(),e[0]-=sp.Kn*t,Sp.lab(e).alpha(i.alpha())},op.prototype.brighten=function(t){return null==t&&(t=1),this.darken(-t)},op.prototype.darker=op.prototype.darken,op.prototype.brighter=op.prototype.brighten,op.prototype.saturate=function(t){var e,i;return null==t&&(t=1),i=this,e=i.lch(),e[1]+=t*sp.Kn,e[1]<0&&(e[1]=0),Sp.lch(e).alpha(i.alpha())},op.prototype.desaturate=function(t){return null==t&&(t=1),this.saturate(-t)},op.prototype.premultiply=function(){var t,e;return e=this.rgb(),t=this.alpha(),Sp(e[0]*t,e[1]*t,e[2]*t,t)},xp=function(t){return function(e,i){var r,n;return r=Sp(i).rgb(),n=Sp(e).rgb(),Sp(t(r,n),\"rgb\")}},Ip=function(t){return function(e,i){var r,n,o;for(o=[],r=n=0;n<=3;r=++n)o[r]=t(e[r],i[r]);return o}},ed=function(t,e){return t},td=function(t,e){return t*e/255},Ep=function(t,e){return t>e?e:t},qp=function(t,e){return t>e?t:e},_d=function(t,e){return 255*(1-(1-t/255)*(1-e/255))},rd=function(t,e){return e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))},wp=function(t,e){return 255*(1-(1-e/255)/(t/255))},Cp=function(t,e){return 255===t?255:(t=e/255*255/(1-t/255),t>255?255:t)},(bp=function(t,e,i){if(!bp[i])throw\"unknown blend mode \"+i;return bp[i](t,e)}).normal=xp(Ip(ed)),bp.multiply=xp(Ip(td)),bp.screen=xp(Ip(_d)),bp.overlay=xp(Ip(rd)),bp.darken=xp(Ip(Ep)),bp.lighten=xp(Ip(qp)),bp.dodge=xp(Ip(Cp)),bp.burn=xp(Ip(wp)),Sp.blend=bp,Sp.analyze=function(t){var e,i,r,n;for(r={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},i=0,e=t.length;ir.max&&(r.max=n),r.count+=1);return r.domain=[r.min,r.max],r.limits=function(t,e){return Sp.limits(r,t,e)},r},Sp.scale=function(t,e){var i,r,n,o,a,s,c,u,h,l,p,d,f,m,g,v,y,b,x,_;return u=\"rgb\",h=Sp(\"#ccc\"),f=0,!1,a=[0,1],d=[],p=[0,0],i=!1,n=[],l=!1,c=0,s=1,o=!1,r={},m=!0,x=function(t){var e,i,r,o,a,s;if(null==t&&(t=[\"#fff\",\"#000\"]),null!=t&&\"string\"===Md(t)&&null!=Sp.brewer&&(t=Sp.brewer[t]||Sp.brewer[t.toLowerCase()]||t),\"array\"===Md(t)){for(e=r=0,o=(t=t.slice(0)).length-1;0<=o?r<=o:r>=o;e=0<=o?++r:--r)i=t[e],\"string\"===Md(i)&&(t[e]=Sp(i));for(d.length=0,e=s=0,a=t.length-1;0<=a?s<=a:s>=a;e=0<=a?++s:--s)d.push(e/(t.length-1))}return b(),n=t},v=function(t){var e,r;if(null!=i){for(r=i.length-1,e=0;e=i[e];)e++;return e-1}return 0},_=function(t){return t},function(t){var e,r,n,o,a;return a=t,i.length>2&&(o=i.length-1,e=v(t),n=i[0]+(i[1]-i[0])*(0+.5*f),r=i[o-1]+(i[o]-i[o-1])*(1-.5*f),a=c+(i[e]+.5*(i[e+1]-i[e])-n)/(r-n)*(s-c)),a},y=function(t,e){var o,a,l,f,g,y,b;if(null==e&&(e=!1),isNaN(t))return h;if(e?b=t:i&&i.length>2?(b=v(t)/(i.length-2),b=p[0]+b*(1-p[0]-p[1])):s!==c?(b=(t-c)/(s-c),b=p[0]+b*(1-p[0]-p[1]),b=Math.min(1,Math.max(0,b))):b=1,e||(b=_(b)),l=Math.floor(1e4*b),m&&r[l])o=r[l];else{if(\"array\"===Md(n))for(a=f=0,y=d.length-1;0<=y?f<=y:f>=y;a=0<=y?++f:--f){if(g=d[a],b<=g){o=n[a];break}if(b>=g&&a===d.length-1){o=n[a];break}if(b>g&&b=h;e=0<=h?++l:--l)d.push(e/(r-1));return a=[c,s],g},g.mode=function(t){return arguments.length?(u=t,b(),g):u},g.range=function(t,e){return x(t),g},g.out=function(t){return l=t,g},g.spread=function(t){return arguments.length?(f=t,g):f},g.correctLightness=function(t){return null==t&&(t=!0),o=t,b(),_=o?function(t){var e,i,r,n,o,a,s,c,u;for(e=y(0,!0).lab()[0],i=y(1,!0).lab()[0],s=e>i,r=y(t,!0).lab()[0],n=r-(o=e+(i-e)*t),c=0,u=1,a=20;Math.abs(n)>.01&&a-- >0;)!function(){s&&(n*=-1),n<0?(c=t,t+=.5*(u-t)):(u=t,t+=.5*(c-t)),r=y(t,!0).lab()[0],n=r-o}();return t}:function(t){return t},g},g.padding=function(t){return null!=t?(\"number\"===Md(t)&&(t=[t,t]),p=t,g):p},g.colors=function(e,r){var o,s,c,u,h,l,p;if(null==r&&(r=\"hex\"),0===arguments.length)return n.map(function(t){return t[r]()});if(e)return 1===e?g(.5)[r]():(s=a[0],o=a[1]-s,function(){h=[];for(var t=0;0<=e?te;0<=e?t++:t--)h.push(t);return h}.apply(this).map(function(t){return g(s+t/(e-1)*o)[r]()}));if(t=[],l=[],i&&i.length>2)for(c=p=1,u=i.length;1<=u?pu;c=1<=u?++p:--p)l.push(.5*(i[c-1]+i[c]));else l=a;return l.map(function(t){return g(t)[r]()})},g.cache=function(t){return null!=t?m=t:m},g},null==Sp.scales&&(Sp.scales={}),Sp.scales.cool=function(){return Sp.scale([Sp.hsl(180,1,.9),Sp.hsl(250,.7,.4)])},Sp.scales.hot=function(){return Sp.scale([\"#000\",\"#f00\",\"#ff0\",\"#fff\"],[0,.25,.75,1]).mode(\"rgb\")},Sp.analyze=function(t,e,i){var r,n,o,a,s,c;if(s={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},null==i&&(i=function(){return!0}),r=function(t){null==t||isNaN(t)||(s.values.push(t),s.sum+=t,ts.max&&(s.max=t),s.count+=1)},c=function(t,n){if(i(t,n))return r(null!=e&&\"function\"===Md(e)?e(t):null!=e&&\"string\"===Md(e)||\"number\"===Md(e)?t[e]:t)},\"array\"===Md(t))for(a=0,o=t.length;a=B;w=1<=B?++O:--O)M.push(T+w/i*(Jp-T));M.push(Jp)}else if(\"l\"===e.substr(0,1)){if(T<=0)throw\"Logarithmic scales are only possible for values > 0\";for(E=Math.LOG10E*Zp(T),P=Math.LOG10E*Zp(Jp),M.push(T),w=rt=1,F=i-1;1<=F?rt<=F:rt>=F;w=1<=F?++rt:--rt)M.push(nd(10,E+w/i*(P-E)));M.push(Jp)}else if(\"q\"===e.substr(0,1)){for(M.push(T),w=r=1,$=i-1;1<=$?r<=$:r>=$;w=1<=$?++r:--r)D=(it.length-1)*w/i,(N=Lp(D))===D?M.push(it[N]):(k=D-N,M.push(it[N]*(1-k)+it[N+1]*k));M.push(Jp)}else if(\"k\"===e.substr(0,1)){for(I=it.length,g=new Array(I),x=new Array(i),Q=!0,L=0,y=null,(y=[]).push(T),w=n=1,H=i-1;1<=H?n<=H:n>=H;w=1<=H?++n:--n)y.push(T+w/i*(Jp-T));for(y.push(Jp);Q;){for(S=o=0,W=i-1;0<=W?o<=W:o>=W;S=0<=W?++o:--o)x[S]=0;for(w=a=0,X=I-1;0<=X?a<=X:a>=X;w=0<=X?++a:--a){for(et=it[w],C=Number.MAX_VALUE,S=s=0,q=i-1;0<=q?s<=q:s>=q;S=0<=q?++s:--s)(_=gp(y[S]-et))=Y;S=0<=Y?++c:--c)R[S]=null;for(w=u=0,Z=I-1;0<=Z?u<=Z:u>=Z;w=0<=Z?++u:--u)null===R[b=g[w]]?R[b]=it[w]:R[b]+=it[w];for(S=h=0,K=i-1;0<=K?h<=K:h>=K;S=0<=K?++h:--h)R[S]*=1/x[S];for(Q=!1,S=l=0,z=i-1;0<=z?l<=z:l>=z;S=0<=z?++l:--l)if(R[S]!==y[w]){Q=!0;break}y=R,++L>200&&(Q=!1)}for(A={},S=p=0,U=i-1;0<=U?p<=U:p>=U;S=0<=U?++p:--p)A[S]=[];for(w=d=0,j=I-1;0<=j?d<=j:d>=j;w=0<=j?++d:--d)A[b=g[w]].push(it[w]);for(J=[],S=f=0,G=i-1;0<=G?f<=G:f>=G;S=0<=G?++f:--f)J.push(A[S][0]),J.push(A[S][A[S].length-1]);for(J=J.sort(function(t,e){return t-e}),M.push(J[0]),w=m=1,V=J.length-1;m<=V;w=m+=2)tt=J[w],isNaN(tt)||-1!==M.indexOf(tt)||M.push(tt)}return M},Dp=function(t,e,i){var r,n,o,a;return r=Pd(arguments),t=r[0],e=r[1],i=r[2],isNaN(t)&&(t=0),t/=360,t<1/3?o=1-((n=(1-e)/3)+(a=(1+e*Pp(lp*t)/Pp(up-lp*t))/3)):t<2/3?n=1-((a=(1-e)/3)+(o=(1+e*Pp(lp*(t-=1/3))/Pp(up-lp*t))/3)):a=1-((o=(1-e)/3)+(n=(1+e*Pp(lp*(t-=2/3))/Pp(up-lp*t))/3)),a=Yp(i*a*3),o=Yp(i*o*3),n=Yp(i*n*3),[255*a,255*o,255*n,r.length>3?r[3]:1]},ud=function(){var t,e,i,r,n,o,a,s;return a=Pd(arguments),o=a[0],e=a[1],t=a[2],lp=2*Math.PI,o/=255,e/=255,t/=255,n=Math.min(o,e,t),r=(o+e+t)/3,s=1-n/r,0===s?i=0:(i=(o-e+(o-t))/2,i/=Math.sqrt((o-e)*(o-e)+(o-t)*(e-t)),i=Math.acos(i),t>e&&(i=lp-i),i/=lp),[360*i,s,r]},Sp.hsi=function(){return function(t,e,i){i.prototype=t.prototype;var r=new i,n=t.apply(r,e);return Object(n)===n?n:r}(op,Rd.call(arguments).concat([\"hsi\"]),function(){})},fp.hsi=Dp,op.prototype.hsi=function(){return ud(this._rgb)},zp=function(t,e,i,r){var n,o,a,s,c,u,h,l,p,d,f;return\"hsl\"===r?(d=t.hsl(),f=e.hsl()):\"hsv\"===r?(d=t.hsv(),f=e.hsv()):\"hcg\"===r?(d=t.hcg(),f=e.hcg()):\"hsi\"===r?(d=t.hsi(),f=e.hsi()):\"lch\"!==r&&\"hcl\"!==r||(r=\"hcl\",d=t.hcl(),f=e.hcl()),\"h\"===r.substr(0,1)&&(o=d[0],l=d[1],c=d[2],a=f[0],p=f[1],u=f[2]),isNaN(o)||isNaN(a)?isNaN(o)?isNaN(a)?n=Number.NaN:(n=a,1!==c&&0!==c||\"hsv\"===r||(h=p)):(n=o,1!==u&&0!==u||\"hsv\"===r||(h=l)):n=o+i*(a>o&&a-o>180?a-(o+360):a180?a+360-o:a-o),null==h&&(h=l+i*(p-l)),s=c+i*(u-c),Sp[r](n,h,s)},jp=function(t,e,i,r){var n,o;return n=t.num(),o=e.num(),Sp.num(n+(o-n)*i,\"num\")},(mp=mp.concat(function(){var t,e,i,r;for(r=[],e=0,t=(i=[\"hsv\",\"hsl\",\"hsi\",\"hcl\",\"lch\",\"hcg\"]).length;e>16&255)/255,e[i+1]=(t>>8&255)/255,e[i+2]=(255&t)/255,e},Dd.prototype.atomColorToArray=function(t,e,i){return this.colorToArray(this.atomColor(t),e,i)},Dd.prototype.bondColor=function(t,e){return this.atomProxy.index=e?t.atomIndex1:t.atomIndex2,this.atomColor(this.atomProxy)},Dd.prototype.bondColorToArray=function(t,e,i,r){return this.colorToArray(this.bondColor(t,e),i,r)},Dd.prototype.volumeColorToArray=function(t,e,i){return this.colorToArray(this.volumeColor(t),e,i)},Dd.prototype.positionColorToArray=function(t,e,i){return this.colorToArray(this.positionColor(t),e,i)},to.prototype={active:!0,params:null,execute:function(t){var e,i;return this.active&&this._listener&&(i=this.params?this.params.concat(t):t,e=this._listener.apply(this.context,i),this._isOnce&&this.detach()),e},detach:function(){return this.isBound()?this._signal.remove(this._listener,this.context):null},isBound:function(){return!!this._signal&&!!this._listener},isOnce:function(){return this._isOnce},getListener:function(){return this._listener},getSignal:function(){return this._signal},_destroy:function(){delete this._signal,delete this._listener,delete this.context},toString:function(){return\"[SignalBinding isOnce:\"+this._isOnce+\", isBound:\"+this.isBound()+\", active:\"+this.active+\"]\"}},io.prototype={VERSION:\"1.0.0\",memorize:!1,_shouldPropagate:!0,active:!0,_registerListener:function(t,e,i,r){var n,o=this._indexOfListener(t,i);if(-1!==o){if((n=this._bindings[o]).isOnce()!==e)throw new Error(\"You cannot add\"+(e?\"\":\"Once\")+\"() then add\"+(e?\"Once\":\"\")+\"() the same listener without removing the relationship first.\")}else n=new to(this,t,e,i,r),this._addBinding(n);return this.memorize&&this._prevParams&&n.execute(this._prevParams),n},_addBinding:function(t){var e=this._bindings.length;do{--e}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){for(var i,r=this,n=this._bindings.length;n--;)if((i=r._bindings[n])._listener===t&&i.context===e)return n;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){return eo(t,\"add\"),this._registerListener(t,!1,e,i)},addOnce:function(t,e,i){return eo(t,\"addOnce\"),this._registerListener(t,!0,e,i)},remove:function(t,e){eo(t,\"remove\");var i=this._indexOfListener(t,e);return-1!==i&&(this._bindings[i]._destroy(),this._bindings.splice(i,1)),t},removeAll:function(){for(var t=this,e=this._bindings.length;e--;)t._bindings[e]._destroy();this._bindings.length=0},getNumListeners:function(){return this._bindings.length},halt:function(){this._shouldPropagate=!1},dispatch:function(t){if(this.active){var e,i=Array.prototype.slice.call(arguments),r=this._bindings.length;if(this.memorize&&(this._prevParams=i),r){e=this._bindings.slice(),this._shouldPropagate=!0;do{r--}while(e[r]&&this._shouldPropagate&&!1!==e[r].execute(i))}}},forget:function(){this._prevParams=null},dispose:function(){this.removeAll(),delete this._bindings,delete this._prevParams},toString:function(){return\"[Signal active:\"+this.active+\" numListeners:\"+this.getNumListeners()+\"]\"}};var Nd={PROTEIN:1,NUCLEIC:2,RNA:3,DNA:4,POLYMER:5,WATER:6,HELIX:7,SHEET:8,TURN:9,BACKBONE:10,SIDECHAIN:11,ALL:12,HETERO:13,ION:14,SACCHARIDE:15,SUGAR:15,BONDED:16,RING:17},kd=[\"*\",\"\",\"ALL\"],Bd=[Nd.BACKBONE,Nd.SIDECHAIN,Nd.BONDED,Nd.RING],Fd=[Nd.POLYMER,Nd.WATER],zd=[\"ALA\",\"GLY\",\"SER\"],Ud=[\"CYS\",\"SER\",\"THR\"],jd=[\"ALA\",\"ILE\",\"LEU\",\"MET\",\"PHE\",\"PRO\",\"TRP\",\"VAL\"],Gd=[\"PHE\",\"TRP\",\"TYR\",\"HIS\"],Vd=[\"ASN\",\"GLN\"],$d=[\"ASP\",\"GLU\"],Hd=[\"ARG\",\"HIS\",\"LYS\"],Wd=[\"ARG\",\"ASP\",\"GLU\",\"HIS\",\"LYS\"],Xd=[\"ASN\",\"ARG\",\"ASP\",\"CYS\",\"GLY\",\"GLN\",\"GLU\",\"HIS\",\"LYS\",\"SER\",\"THR\",\"TYR\"],qd=[\"ALA\",\"ILE\",\"LEU\",\"MET\",\"PHE\",\"PRO\",\"TRP\",\"VAL\"],Yd=[\"HIS\",\"PHE\",\"PRO\",\"TRP\",\"TYR\"],Zd=[\"ALA\",\"GLY\",\"ILE\",\"LEU\",\"VAL\"],Kd=function(t){this.signals={stringChanged:new io},this.setString(t)},Qd={type:{}};Qd.type.get=function(){return\"selection\"},Kd.prototype.setString=function(t,e){if(void 0===t&&(t=this.string||\"\"),t!==this.string){try{this.parse(t)}catch(t){this.selection={error:t.message}}this.string=t,this.test=this.makeAtomTest(),this.residueTest=this.makeResidueTest(),this.chainTest=this.makeChainTest(),this.modelTest=this.makeModelTest(),this.atomOnlyTest=this.makeAtomTest(!0),this.residueOnlyTest=this.makeResidueTest(!0),this.chainOnlyTest=this.makeChainTest(!0),this.modelOnlyTest=this.makeModelTest(!0),e||this.signals.stringChanged.dispatch(this.string)}},Kd.prototype.parse=function(t){var e=this;if(this.selection={operator:void 0,rules:[]},t){var i,r,n=this.selection,o=[];\"(\"===(t=t.replace(/\\(/g,\" ( \").replace(/\\)/g,\" ) \").trim()).charAt(0)&&\")\"===t.substr(-1)&&(t=t.slice(1,-1).trim());for(var a,s=t.split(/\\s+/),c=function(t){i={operator:t,rules:[]},void 0===n?(n=i,e.selection=i):(n.rules.push(i),o.push(n),n=i)},u=function(t){r=n,void 0===(n=o.pop())&&(c(t),h(r))},h=function(t){n.rules.push(t)},l=0;l0)if(\"NOT\"===d)a=1;else if(1===a)a=2;else{if(2!==a)throw new Error(\"something went wrong with 'not'\");a=!1,u()}if(\"AND\"!==d)if(\"OR\"!==d)if(\"NOT\"!==p.toUpperCase()){var f=Nd[d];if(void 0===f)if(\"HYDROGEN\"!==d)if(\"SMALL\"!==d)if(\"NUCLEOPHILIC\"!==d)if(\"HYDROPHOBIC\"!==d)if(\"AROMATIC\"!==d)if(\"AMIDE\"!==d)if(\"ACIDIC\"!==d)if(\"BASIC\"!==d)if(\"CHARGED\"!==d)if(\"POLAR\"!==d)if(\"NONPOLAR\"!==d)if(\"CYCLIC\"!==d)if(\"ALIPHATIC\"!==d)if(\"SIDECHAINATTACHED\"!==d)if(\"LIGAND\"!==d)if(-1===kd.indexOf(d))if(\"@\"!==p.charAt(0))if(\"#\"!==p.charAt(0))if(\"_\"!==p.charAt(0))if(\"[\"!==p[0]||\"]\"!==p[p.length-1])if(p.length>=1&&p.length<=4&&\"^\"!==p[0]&&\":\"!==p[0]&&\".\"!==p[0]&&\"%\"!==p[0]&&\"/\"!==p[0]&&isNaN(parseInt(p)))h({resname:d});else{var m={operator:\"AND\",rules:[]},g=p.split(\"/\");if(g.length>1&&g[1]){if(isNaN(parseInt(g[1])))throw new Error(\"model must be an integer\");m.rules.push({model:parseInt(g[1])})}var v=g[0].split(\"%\");v.length>1&&m.rules.push({altloc:v[1]});var y=v[0].split(\".\");if(y.length>1&&y[1]){if(y[1].length>4)throw new Error(\"atomname must be one to four characters\");m.rules.push({atomname:y[1].substring(0,4).toUpperCase()})}var b=y[0].split(\":\");b.length>1&&b[1]&&m.rules.push({chainname:b[1]});var x=b[0].split(\"^\");if(x.length>1&&m.rules.push({inscode:x[1]}),x[0]){var _=void 0,w=void 0;\"-\"===x[0][0]&&(x[0]=x[0].substr(1),_=!0),x[0].includes(\"--\")&&(x[0]=x[0].replace(\"--\",\"-\"),w=!0);var S=x[0].split(\"-\");if(1===S.length){if(S=parseInt(S[0]),isNaN(S))throw new Error(\"resi must be an integer\");_&&(S*=-1),m.rules.push({resno:S})}else{if(2!==S.length)throw new Error(\"resi range must contain one '-'\");_&&(S[0]*=-1),w&&(S[1]*=-1),m.rules.push({resno:[parseInt(S[0]),parseInt(S[1])]})}}if(1===m.rules.length)h(m.rules[0]);else{if(!(m.rules.length>1))throw new Error(\"empty selection chunk\");h(m)}}else{var A=d.substr(1,p.length-2).split(\",\"),M=A.length>1?A:A[0];h({resname:M})}else h({element:d.substr(1)});else console.error(\"# for element selection deprecated, use _\"),h({element:d.substr(1)});else{for(var P=p.substr(1).split(\",\"),T=0,E=P.length;T0?e:null},Kd.prototype.makeAtomTest=function(t){var e;return e=t?this._filter(function(t){return void 0!==t.keyword&&!Bd.includes(t.keyword)||(void 0!==t.model||(void 0!==t.chainname||(void 0!==t.resname||(void 0!==t.resno||void 0!==t.sstruc))))}):this.selection,this._makeTest(ro,e)},Kd.prototype.makeResidueTest=function(t){var e;return e=t?this._filter(function(t){return!(void 0===t.keyword||!Bd.includes(t.keyword))||(void 0!==t.model||(void 0!==t.chainname||(void 0!==t.atomname||(void 0!==t.element||void 0!==t.altloc))))}):this.selection,this._makeTest(no,e)},Kd.prototype.makeChainTest=function(t){var e;return e=t?this._filter(function(t){return void 0!==t.keyword&&!Fd.includes(t.keyword)||(void 0!==t.resname||(void 0!==t.resno||(void 0!==t.atomname||(void 0!==t.element||(void 0!==t.altloc||(void 0!==t.sstruc||void 0!==t.inscode))))))}):this.selection,this._makeTest(oo,e)},Kd.prototype.makeModelTest=function(t){var e;return e=t?this._filter(function(t){return void 0!==t.keyword||(void 0!==t.chainname||(void 0!==t.resname||(void 0!==t.resno||(void 0!==t.atomname||(void 0!==t.element||(void 0!==t.altloc||(void 0!==t.sstruc||void 0!==t.inscode)))))))}):this.selection,this._makeTest(ao,e)},Object.defineProperties(Kd.prototype,Qd);var Jd=function(t){function e(e){var i=this;t.call(this,e);var r=e.dataList||[];this.colormakerList=[],this.selectionList=[],r.forEach(function(t){var e=t[0],r=t[1],n=t[2];void 0===n&&(n={}),lf.hasScheme(e)?Object.assign(n,{scheme:e,structure:i.structure}):Object.assign(n,{scheme:\"uniform\",value:new tt(e).getHex()}),i.colormakerList.push(lf.getScheme(n)),i.selectionList.push(new Kd(r))})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){for(var e=this,i=0,r=this.selectionList.length;ir).lines},lineCount:function(){console.warn(\"lineCount - deprecated\");for(var t=this.data,e=t.length,i=this.isBinary()?this.newline.charCodeAt(0):this.newline,r=0,n=0;nthis.data.length))return this.__pointer+=this.chunkSize,this.chunk(t)},nextChunkOfLines:function(){var t=this.nextChunk();if(void 0!==t){var e=this.__pointer>this.data.length,i=this.chunkToLines(t,this.__partialLine,e);return this.__partialLine=i.partialLine,i.lines}},eachChunk:function(t){for(var e=this,i=this.chunkSize,r=this.data.length,n=this.chunkCount(),o=0;o=0),o[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o[6]?parseInt(o[6]):0);break;case\"e\":i=o[7]?parseFloat(i).toExponential(o[7]):parseFloat(i).toExponential();break;case\"f\":i=o[7]?parseFloat(i).toFixed(o[7]):parseFloat(i);break;case\"g\":i=o[7]?parseFloat(i).toPrecision(o[7]):parseFloat(i);break;case\"o\":i=i.toString(8);break;case\"s\":i=String(i),i=o[7]?i.substring(0,o[7]):i;break;case\"t\":i=String(!!i),i=o[7]?i.substring(0,o[7]):i;break;case\"T\":i=vo(i),i=o[7]?i.substring(0,o[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o[7]?i.substring(0,o[7]):i;break;case\"x\":i=parseInt(i,10).toString(16);break;case\"X\":i=parseInt(i,10).toString(16).toUpperCase()}Tf.json.test(o[8])?p[p.length]=i:(!Tf.number.test(o[8])||d&&!o[3]?f=\"\":(f=d?\"+\":\"-\",i=i.toString().replace(Tf.sign,\"\")),s=o[4]?\"0\"===o[4]?\"0\":o[4].charAt(1):\" \",c=o[6]-(f+i).length,a=o[6]&&c>0?yo(s,c):\"\",p[p.length]=o[5]?f+i+a:\"0\"===s?f+a+i:a+f+i)}return p.join(\"\")},go.cache={},go.parse=function(t){for(var e=t,i=[],r=[],n=0;e;){if(null!==(i=Tf.text.exec(e)))r[r.length]=i[0];else if(null!==(i=Tf.modulo.exec(e)))r[r.length]=\"%\";else{if(null===(i=Tf.placeholder.exec(e)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(i[2]){n|=1;var o=[],a=i[2],s=[];if(null===(s=Tf.key.exec(a)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o[o.length]=s[1];\"\"!==(a=a.substring(s[0].length));)if(null!==(s=Tf.key_access.exec(a)))o[o.length]=s[1];else{if(null===(s=Tf.index_access.exec(a)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o[o.length]=s[1]}i[2]=o}else n|=2;if(3===n)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");r[r.length]=i}e=e.substring(i[0].length)}return r};var Ef={0:[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\"],\" \":[\"\",\" \",\" \",\" \",\" \",\" \",\" \",\" \"],_:[\"\",\"_\",\"__\",\"___\",\"____\",\"_____\",\"______\",\"_______\"]},Cf=function(){this.count=0,this.signals={countChanged:new io}};Cf.prototype.clear=function(){this.change(-this.count)},Cf.prototype.change=function(t){this.count+=t,this.signals.countChanged.dispatch(t,this.count),this.count<0&&cf.warn(\"Counter.count below zero\",this.count)},Cf.prototype.increment=function(){this.change(1)},Cf.prototype.decrement=function(){this.change(-1)},Cf.prototype.listen=function(t){this.change(t.count),t.signals.countChanged.add(this.change,this)},Cf.prototype.unlisten=function(t){var e=t.signals.countChanged;e.has(this.change,this)&&e.remove(this.change,this)},Cf.prototype.onZeroOnce=function(t,e){if(0===this.count)t.call(e,0,0);else{var i=function(){0===this.count&&(this.signals.countChanged.remove(i,this),t.apply(e,arguments))};this.signals.countChanged.add(i,this)}},Cf.prototype.dispose=function(){this.clear(),this.signals.countChanged.dispose()},mf.add(\"shader/BasicLine.vert\",\"void main(){\\n#include begin_vertex\\n#include project_vertex\\n}\"),mf.add(\"shader/BasicLine.frag\",\"uniform vec3 uColor;\\n#include common\\n#include fog_pars_fragment\\nvoid main(){\\ngl_FragColor = vec4( uColor, 1.0 );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\"),mf.add(\"shader/Quad.vert\",\"varying vec2 vUv;\\nvoid main() {\\nvUv = uv;\\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\"),mf.add(\"shader/Quad.frag\",\"varying vec2 vUv;\\nuniform sampler2D tForeground;\\nuniform float scale;\\nvoid main() {\\nvec4 foreground = texture2D( tForeground, vUv );\\ngl_FragColor = foreground * scale;\\n}\"),xo.prototype={update:function(){this.startTime=this.end(),this.currentTime=this.startTime,this.signals.updated.dispatch()},begin:function(){this.startTime=performance.now(),this.lastFrames=this.frames},end:function(){var t=performance.now();return this.count+=1,this.frames+=1,this.lastDuration=t-this.startTime,this.minDuration=Math.min(this.minDuration,this.lastDuration),this.maxDuration=Math.max(this.maxDuration,this.lastDuration),this.avgDuration-=this.avgDuration/30,this.avgDuration+=this.lastDuration/30,t>this.prevFpsTime+1e3&&(this.lastFps=this.frames,this.prevFpsTime=t,this.frames=0),t}},mf.add(\"shader/chunk/dull_interior_fragment.glsl\",\"#ifdef DULL_INTERIOR\\nif( gl_FrontFacing == false ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#endif\"),mf.add(\"shader/chunk/fog_fragment.glsl\",\"#ifdef USE_FOG\\nfloat depth = length( vViewPosition );\\n#ifdef FOG_EXP2\\nfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * depth * depth * LOG2 ) );\\n#else\\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\\n#endif\\ngl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\"),mf.add(\"shader/chunk/matrix_scale.glsl\",\"float matrixScale( in mat4 m ){\\nvec4 r = m[ 0 ];\\nreturn sqrt( r[ 0 ] * r[ 0 ] + r[ 1 ] * r[ 1 ] + r[ 2 ] * r[ 2 ] );\\n}\"),mf.add(\"shader/chunk/nearclip_vertex.glsl\",\"#ifdef NEAR_CLIP\\nif( vViewPosition.z < nearClip - 5.0 )\\ngl_Position.z = 2.0 * gl_Position.w;\\n#endif\"),mf.add(\"shader/chunk/nearclip_fragment.glsl\",\"#ifdef NEAR_CLIP\\nif( vViewPosition.z < nearClip )\\ndiscard;\\n#endif\"),mf.add(\"shader/chunk/opaque_back_fragment.glsl\",\"#ifdef OPAQUE_BACK\\n#ifdef FLIP_SIDED\\nif( gl_FrontFacing == true ){\\ngl_FragColor.a = 1.0;\\n}\\n#else\\nif( gl_FrontFacing == false ){\\ngl_FragColor.a = 1.0;\\n}\\n#endif\\n#endif\"),mf.add(\"shader/chunk/radiusclip_vertex.glsl\",\"#ifdef RADIUS_CLIP\\nif( distance( vViewPosition, vClipCenter ) > clipRadius + 5.0 )\\ngl_Position.z = 2.0 * gl_Position.w;\\n#endif\"),mf.add(\"shader/chunk/radiusclip_fragment.glsl\",\"#ifdef RADIUS_CLIP\\nif( distance( vViewPosition, vClipCenter ) > clipRadius )\\ndiscard;\\n#endif\"),mf.add(\"shader/chunk/unpack_color.glsl\",\"vec3 unpackColor(float f) {\\nvec3 color;\\ncolor.r = floor(f / 256.0 / 256.0);\\ncolor.g = floor((f - color.r * 256.0 * 256.0) / 256.0);\\ncolor.b = floor(f - color.r * 256.0 * 256.0 - color.g * 256.0);\\nreturn color / 255.0;\\n}\");var If=/^(?!\\/\\/)\\s*#include\\s+(\\S+)/gim,Lf={};if(\"undefined\"!=typeof WebGLRenderingContext&&WebGLRenderingContext){var Rf=WebGLRenderingContext.prototype,Of=Rf.getShaderParameter;Rf.getShaderParameter=function(){return!t.Debug||Of.apply(this,arguments)};var Df=Rf.getShaderInfoLog;Rf.getShaderInfoLog=function(){return t.Debug?Df.apply(this,arguments):\"\"};var Nf=Rf.getProgramParameter;Rf.getProgramParameter=function(e,i){return!t.Debug&&i===Rf.LINK_STATUS||Nf.apply(this,arguments)};var kf=Rf.getProgramInfoLog;Rf.getProgramInfoLog=function(){return t.Debug?kf.apply(this,arguments):\"\"}}var Bf=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]];Bf.forEach(function(t){t.forEach(function(t){t[0]*=.0625,t[1]*=.0625})}),So.prototype.constructor=So;var Ff=2*Math.PI,zf=(new Float32Array(4),new Float32Array(4),new g),Uf=new v,jf=new v,Gf=new v,Vf=new v,$f=new Float32Array(4),Hf=new Uint8Array(4),Wf=new v;Ho.prototype.constructor=Ho;var Xf=function(t,e){this.signals={moved:new io,scrolled:new io,dragged:new io,dropped:new io,clicked:new io,hovered:new io};var i=Object.assign({},e);this.hoverTimeout=dn(i.hoverTimeout,50),this.handleScroll=dn(i.handleScroll,!0),this.domElement=t,this.position=new l,this.prevPosition=new l,this.down=new l,this.canvasPosition=new l,this.moving=!1,this.hovering=!0,this.scrolled=!1,this.lastMoved=1/0,this.which=void 0,this.buttons=void 0,this.pressed=void 0,this.altKey=void 0,this.ctrlKey=void 0,this.metaKey=void 0,this.shiftKey=void 0,this._listen=this._listen.bind(this),this._onMousewheel=this._onMousewheel.bind(this),this._onMousemove=this._onMousemove.bind(this),this._onMousedown=this._onMousedown.bind(this),this._onMouseup=this._onMouseup.bind(this),this._onContextmenu=this._onContextmenu.bind(this),this._onTouchstart=this._onTouchstart.bind(this),this._onTouchend=this._onTouchend.bind(this),this._onTouchmove=this._onTouchmove.bind(this),this._listen(),document.addEventListener(\"mousewheel\",this._onMousewheel),document.addEventListener(\"wheel\",this._onMousewheel),document.addEventListener(\"MozMousePixelScroll\",this._onMousewheel),document.addEventListener(\"mousemove\",this._onMousemove),document.addEventListener(\"mousedown\",this._onMousedown),document.addEventListener(\"mouseup\",this._onMouseup),document.addEventListener(\"contextmenu\",this._onContextmenu),document.addEventListener(\"touchstart\",this._onTouchstart),document.addEventListener(\"touchend\",this._onTouchend),document.addEventListener(\"touchmove\",this._onTouchmove)},qf={key:{}};qf.key.get=function(){var t=0;return this.altKey&&(t+=1),this.ctrlKey&&(t+=2),this.metaKey&&(t+=4),this.shiftKey&&(t+=8),t},Xf.prototype.setParameters=function(t){var e=Object.assign({},t);this.hoverTimeout=dn(e.hoverTimeout,this.hoverTimeout)},Xf.prototype._listen=function(){if(performance.now()-this.lastMoved>this.hoverTimeout&&(this.moving=!1),(this.scrolled||!this.moving&&!this.hovering)&&(this.scrolled=!1,-1!==this.hoverTimeout&&this.overElement)){this.hovering=!0;var t=this.canvasPosition;this.signals.hovered.dispatch(t.x,t.y)}requestAnimationFrame(this._listen)},Xf.prototype._onMousewheel=function(t){var e=this;if(t.target===this.domElement&&this.handleScroll){t.preventDefault(),this._setKeys(t);var i=0;i=t.wheelDelta?t.wheelDelta/40:t.detail?-t.detail/3:-t.deltaY/(t.deltaMode?.33:30),this.signals.scrolled.dispatch(i),setTimeout(function(){e.scrolled=!0},this.hoverTimeout)}},Xf.prototype._onMousemove=function(t){t.target===this.domElement?(t.preventDefault(),this.overElement=!0):this.overElement=!1,this._setKeys(t),this.moving=!0,this.hovering=!1,this.lastMoved=performance.now(),this.prevPosition.copy(this.position),this.position.set(t.clientX,t.clientY),this._setCanvasPosition(t);var e=this.prevPosition.x-this.position.x,i=this.prevPosition.y-this.position.y;this.signals.moved.dispatch(e,i),this.pressed&&this.signals.dragged.dispatch(e,i)},Xf.prototype._onMousedown=function(t){t.target===this.domElement&&(t.preventDefault(),this._setKeys(t),this.moving=!1,this.hovering=!1,this.down.set(t.clientX,t.clientY),this.position.set(t.clientX,t.clientY),this.which=t.which,this.buttons=Xo(t),this.pressed=!0,this._setCanvasPosition(t))},Xf.prototype._onMouseup=function(t){t.target===this.domElement&&t.preventDefault(),this._setKeys(t);var e=this.canvasPosition;this.signals.clicked.dispatch(e.x,e.y),this.which=void 0,this.buttons=void 0,this.pressed=void 0},Xf.prototype._onContextmenu=function(t){t.target===this.domElement&&t.preventDefault()},Xf.prototype._onTouchstart=function(t){if(t.target===this.domElement)switch(t.preventDefault(),this.pressed=!0,t.touches.length){case 1:this.moving=!1,this.hovering=!1,this.down.set(t.touches[0].pageX,t.touches[0].pageY),this.position.set(t.touches[0].pageX,t.touches[0].pageY),this._setCanvasPosition(t.touches[0]);break;case 2:this.down.set((t.touches[0].pageX+t.touches[1].pageX)/2,(t.touches[0].pageY+t.touches[1].pageY)/2),this.position.set((t.touches[0].pageX+t.touches[1].pageX)/2,(t.touches[0].pageY+t.touches[1].pageY)/2),this.lastTouchDistance=Wo(t)}},Xf.prototype._onTouchend=function(t){t.target===this.domElement&&t.preventDefault(),this.pressed=!1},Xf.prototype._onTouchmove=function(t){switch(t.target===this.domElement?(t.preventDefault(),this.overElement=!0):this.overElement=!1,t.touches.length){case 1:this._setKeys(t),this.which=void 0,this.buttons=void 0,this.moving=!0,this.hovering=!1,this.lastMoved=performance.now(),this.prevPosition.copy(this.position),this.position.set(t.touches[0].pageX,t.touches[0].pageY),this._setCanvasPosition(t.touches[0]);var e=this.prevPosition.x-this.position.x,i=this.prevPosition.y-this.position.y;this.signals.moved.dispatch(e,i),this.pressed&&this.signals.dragged.dispatch(e,i);break;case 2:this.which=3,this.buttons=2;var r=Wo(t),n=r-this.lastTouchDistance;if(this.lastTouchDistance=r,Math.abs(n)>1)this.signals.scrolled.dispatch(n/2);else{this.prevPosition.copy(this.position),this.position.set((t.touches[0].pageX+t.touches[1].pageX)/2,(t.touches[0].pageY+t.touches[1].pageY)/2);var o=this.prevPosition.x-this.position.x,a=this.prevPosition.y-this.position.y;this.signals.moved.dispatch(o,a),this.pressed&&this.signals.dragged.dispatch(o,a)}}},Xf.prototype._distance=function(){return this.position.distanceTo(this.down)},Xf.prototype._setCanvasPosition=function(t){var e,i,r=this.domElement.getBoundingClientRect();\"offsetX\"in t&&\"offsetY\"in t?(e=t.offsetX,i=t.offsetY):(e=t.clientX-r.left,i=t.clientY-r.top),this.canvasPosition.set(e,r.height-i)},Xf.prototype._setKeys=function(t){this.altKey=t.altKey,this.ctrlKey=t.ctrlKey,this.metaKey=t.metaKey,this.shiftKey=t.shiftKey},Xf.prototype.dispose=function(){document.removeEventListener(\"mousewheel\",this._onMousewheel),document.removeEventListener(\"wheel\",this._onMousewheel),document.removeEventListener(\"MozMousePixelScroll\",this._onMousewheel),document.removeEventListener(\"mousemove\",this._onMousemove),document.removeEventListener(\"mousedown\",this._onMousedown),document.removeEventListener(\"mouseup\",this._onMouseup),document.removeEventListener(\"contextmenu\",this._onContextmenu),document.removeEventListener(\"touchstart\",this._onTouchstart),document.removeEventListener(\"touchend\",this._onTouchend),document.removeEventListener(\"touchmove\",this._onTouchmove)},Object.defineProperties(Xf.prototype,qf);var Yf=new v,Zf=new v,Kf=new v,Qf=new g,Jf=new m,tm=new v,em=new g,im=function(t,e){var i=e||{};this.rotateSpeed=dn(i.rotateSpeed,2),this.zoomSpeed=dn(i.zoomSpeed,1.2),this.panSpeed=dn(i.panSpeed,1),this.stage=t,this.viewer=t.viewer,this.mouse=t.mouseObserver,this.controls=t.viewerControls},rm={component:{}};rm.component.get=function(){return this.stage.transformComponent},im.prototype._setPanVector=function(t,e){var i,r=this.viewer.camera;if(\"OrthographicCamera\"===r.type)i=1/r.zoom;else{var n=Gn(r.fov);i=-2*r.position.z*Math.tan(n/2)/this.viewer.height}em.set(t,e,0),em.multiplyScalar(this.panSpeed*i)},im.prototype._getRotateXY=function(t,e){return[this.rotateSpeed*-t*.01,this.rotateSpeed*e*.01]},im.prototype.zoom=function(t){this.controls.zoom(this.zoomSpeed*t*.02)},im.prototype.pan=function(t,e){this._setPanVector(t,e),tm.getInverse(this.viewer.rotationGroup.matrix),em.applyMatrix4(tm),this.controls.translate(em)},im.prototype.panComponent=function(t,e){this.component&&(this._setPanVector(t,e),tm.extractRotation(this.component.transform),tm.premultiply(this.viewer.rotationGroup.matrix),tm.getInverse(tm),em.applyMatrix4(tm),this.component.position.add(em),this.component.updateMatrix())},im.prototype.rotate=function(t,e){var i=this._getRotateXY(t,e),r=i[0],n=i[1];Yf.makeRotationX(n),Zf.makeRotationY(r),Yf.multiply(Zf),this.controls.applyMatrix(Yf)},im.prototype.rotateComponent=function(t,e){if(this.component){var i=this._getRotateXY(t,e),r=i[0],n=i[1];Kf.extractRotation(this.component.transform),Kf.premultiply(this.viewer.rotationGroup.matrix),Kf.getInverse(Kf),Qf.set(1,0,0),Qf.applyMatrix4(Kf),Yf.makeRotationAxis(Qf,n),Qf.set(0,1,0),Qf.applyMatrix4(Kf),Zf.makeRotationAxis(Qf,r),Yf.multiply(Zf),Jf.setFromRotationMatrix(Yf),this.component.quaternion.premultiply(Jf),this.component.updateMatrix()}},Object.defineProperties(im.prototype,rm);var nm=function(t,e){this.pid=t.pid,this.picker=t.picker,this.instance=t.instance,this.stage=e,this.controls=e.viewerControls,this.mouse=e.mouseObserver},om={type:{},altKey:{},ctrlKey:{},metaKey:{},shiftKey:{},canvasPosition:{},component:{},object:{},position:{},closestBondAtom:{},arrow:{},atom:{},axes:{},bond:{},cone:{},clash:{},contact:{},cylinder:{},distance:{},ellipsoid:{},mesh:{},slice:{},sphere:{},surface:{},unitcell:{},unknown:{},volume:{}};om.type.get=function(){return this.picker.type},om.altKey.get=function(){return this.mouse.altKey},om.ctrlKey.get=function(){return this.mouse.ctrlKey},om.metaKey.get=function(){return this.mouse.metaKey},om.shiftKey.get=function(){return this.mouse.shiftKey},om.canvasPosition.get=function(){return this.mouse.canvasPosition},om.component.get=function(){return this.stage.getComponentsByObject(this.picker.data).list[0]},om.object.get=function(){return this.picker.getObject(this.pid)},om.position.get=function(){return this.picker.getPosition(this.pid,this.instance,this.component)},om.closestBondAtom.get=function(){if(\"bond\"===this.type){var t=this.bond,e=this.controls;return qo(this.canvasPosition,e.getPositionOnCanvas(t.atom1),e.getPositionOnCanvas(t.atom2))?t.atom1:t.atom2}},om.arrow.get=function(){return this._objectIfType(\"arrow\")},om.atom.get=function(){return this._objectIfType(\"atom\")},om.axes.get=function(){return this._objectIfType(\"axes\")},om.bond.get=function(){return this._objectIfType(\"bond\")},om.cone.get=function(){return this._objectIfType(\"cone\")},om.clash.get=function(){return this._objectIfType(\"clash\")},om.contact.get=function(){return this._objectIfType(\"contact\")},om.cylinder.get=function(){return this._objectIfType(\"cylinder\")},om.distance.get=function(){return this._objectIfType(\"distance\")},om.ellipsoid.get=function(){return this._objectIfType(\"ellipsoid\")},om.mesh.get=function(){return this._objectIfType(\"mesh\")},om.slice.get=function(){return this._objectIfType(\"slice\")},om.sphere.get=function(){return this._objectIfType(\"sphere\")},om.surface.get=function(){return this._objectIfType(\"surface\")},om.unitcell.get=function(){return this._objectIfType(\"unitcell\")},om.unknown.get=function(){return this._objectIfType(\"unknown\")},om.volume.get=function(){return this._objectIfType(\"volume\")},nm.prototype._objectIfType=function(t){return this.type===t?this.object:void 0},nm.prototype.getLabel=function(){var t=\"nothing\";return this.arrow?t=\"arrow: \"+(this.arrow.name||this.pid)+\" (\"+this.arrow.shape.name+\")\":this.atom?t=\"atom: \"+this.atom.qualifiedName()+\" (\"+this.atom.structure.name+\")\":this.axes?t=\"axes\":this.bond?t=\"bond: \"+this.bond.atom1.qualifiedName()+\" - \"+this.bond.atom2.qualifiedName()+\" (\"+this.bond.structure.name+\")\":this.cone?t=\"cone: \"+(this.cone.name||this.pid)+\" (\"+this.cone.shape.name+\")\":this.clash?t=\"clash: \"+this.clash.clash.sele1+\" - \"+this.clash.clash.sele2:this.contact?t=\"contact: \"+this.contact.atom1.qualifiedName()+\" - \"+this.contact.atom2.qualifiedName()+\" (\"+this.contact.structure.name+\")\":this.cylinder?t=\"cylinder: \"+(this.cylinder.name||this.pid)+\" (\"+this.cylinder.shape.name+\")\":this.distance?t=\"distance: \"+this.distance.atom1.qualifiedName()+\" - \"+this.distance.atom2.qualifiedName()+\" (\"+this.distance.structure.name+\")\":this.ellipsoid?t=\"ellipsoid: \"+(this.ellipsoid.name||this.pid)+\" (\"+this.ellipsoid.shape.name+\")\":this.mesh?t=\"mesh: \"+(this.mesh.name||this.mesh.serial)+\" (\"+this.mesh.shape.name+\")\":this.slice?t=\"slice: \"+this.slice.value.toPrecision(3)+\" (\"+this.slice.volume.name+\")\":this.sphere?t=\"sphere: \"+(this.sphere.name||this.pid)+\" (\"+this.sphere.shape.name+\")\":this.surface?t=\"surface: \"+this.surface.surface.name:this.unitcell?t=\"unitcell: \"+this.unitcell.unitcell.spacegroup+\" (\"+this.unitcell.structure.name+\")\":this.unknown?t=\"unknown\":this.volume&&(t=\"volume: \"+this.volume.value.toPrecision(3)+\" (\"+this.volume.volume.name+\")\"),t},Object.defineProperties(nm.prototype,om);var am=function(t){this.stage=t,this.viewer=t.viewer};am.prototype.pick=function(t,e){var i=this.viewer.pick(t,e);if(i.picker&&\"ignore\"!==i.picker.type&&void 0!==i.pid){var r=i.picker.array;if(!(r&&i.pid>=r.length))return new nm(i,this.stage);console.error(\"pid >= picker.array.length\")}};var sm=new m,cm=new g,um=new g,hm=new g,lm=new g,pm=new v,dm=new g,fm=new v,mm=function(t){this.stage=t,this.viewer=t.viewer,this.signals={changed:new io}},gm={position:{},rotation:{}};gm.position.get=function(){return this.viewer.translationGroup.position},gm.rotation.get=function(){return this.viewer.rotationGroup.quaternion},mm.prototype.changed=function(){this.viewer.requestRender(),this.signals.changed.dispatch()},mm.prototype.getPositionOnCanvas=function(t,e){var i=Rn(e),r=this.viewer;return hm.copy(t).add(r.translationGroup.position).applyMatrix4(r.rotationGroup.matrix).project(r.camera),i.set((hm.x+1)*r.width/2,(hm.y+1)*r.height/2)},mm.prototype.getOrientation=function(t){var e=Dn(t);e.copy(this.viewer.rotationGroup.matrix);var i=-this.viewer.camera.position.z;return e.scale(lm.set(i,i,i)),e.setPosition(this.viewer.translationGroup.position),e},mm.prototype.orient=function(t){Dn(t).decompose(cm,sm,um);var e=this.viewer;e.rotationGroup.setRotationFromQuaternion(sm),e.translationGroup.position.copy(cm),e.camera.position.z=-um.z,e.updateZoom(),this.changed()},mm.prototype.translate=function(t){this.viewer.translationGroup.position.add(On(t)),this.changed()},mm.prototype.center=function(t){this.viewer.translationGroup.position.copy(On(t)).negate(),this.changed()},mm.prototype.zoom=function(t){this.distance(this.viewer.camera.position.z*(1-t))},mm.prototype.distance=function(t){this.viewer.camera.position.z=t,this.viewer.updateZoom(),this.changed()},mm.prototype.spin=function(t,e){pm.getInverse(this.viewer.rotationGroup.matrix),dm.copy(On(t)).applyMatrix4(pm),this.viewer.rotationGroup.rotateOnAxis(dm,e),this.changed()},mm.prototype.rotate=function(t){this.viewer.rotationGroup.setRotationFromQuaternion(Nn(t)),this.changed()},mm.prototype.align=function(t){fm.getInverse(Dn(t)),this.viewer.rotationGroup.setRotationFromMatrix(fm),this.changed()},mm.prototype.applyMatrix=function(t){this.viewer.rotationGroup.applyMatrix(Dn(t)),this.changed()},Object.defineProperties(mm.prototype,gm);var vm=function(t,e){for(var i=[],r=arguments.length-2;r-- >0;)i[r]=arguments[r+2];this.duration=dn(t,1e3),this.controls=e,this.startTime=performance.now(),this.elapsedTime=0,this._resolveList=[],(n=this)._init.apply(n,i);var n},ym={done:{}};ym.done.get=function(){return 1===this.alpha},vm.prototype._init=function(){},vm.prototype._tick=function(){},vm.prototype.tick=function(t){return this.elapsedTime=t.currentTime-this.startTime,0===this.duration?this.alpha=1:this.alpha=Qn(0,1,this.elapsedTime/this.duration),this._tick(t),this.done&&this._resolveList.forEach(function(t){t()}),this.done},vm.prototype.then=function(t){var e=this;return(this.done?Promise.resolve():new Promise(function(t){e._resolveList.push(t)})).then(t)},Object.defineProperties(vm.prototype,ym);var bm=function(t){function e(e){for(var i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];t.apply(this,[dn(e,1/0)].concat(i))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._init=function(t,e){Array.isArray(t)?this.axis=(new g).fromArray(t):this.axis=dn(t,new g(0,1,0)),this.angle=dn(e,.01)},e.prototype._tick=function(t){this.axis&&this.angle&&this.controls.spin(this.axis,this.angle*t.lastDuration/16)},e}(vm),xm=function(t){function e(e){for(var i=[],r=arguments.length-1;r-- >0;)i[r]=arguments[r+1];t.apply(this,[dn(e,1/0)].concat(i))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._init=function(t,e,i){Array.isArray(t)?this.axis=(new g).fromArray(t):this.axis=dn(t,new g(0,1,0)),this.angleStep=dn(e,.01),this.angleEnd=dn(i,.2),this.angleSum=0,this.direction=1},e.prototype._tick=function(t){if(this.axis&&this.angleStep&&this.angleEnd){var e=Qn(0,1,Math.abs(this.angleSum)/this.angleEnd),i=this.angleStep*this.direction*(1.1-e);this.controls.spin(this.axis,i*t.lastDuration/16),this.angleSum+=this.angleStep,this.angleSum>=this.angleEnd&&(this.direction*=-1,this.angleSum=-this.angleEnd)}},e}(vm),_m=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._init=function(t,e){this.moveFrom=On(dn(t,new g)),this.moveTo=On(dn(e,new g))},e.prototype._tick=function(){this.controls.position.lerpVectors(this.moveFrom,this.moveTo,this.alpha).negate(),this.controls.changed()},e}(vm),wm=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._init=function(t,e){this.zoomFrom=t,this.zoomTo=e},e.prototype._tick=function(){this.controls.distance(Zn(this.zoomFrom,this.zoomTo,this.alpha))},e}(vm),Sm=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._init=function(t,e){this.rotateFrom=Nn(t),this.rotateTo=Nn(e),this._currentRotation=new m},e.prototype._tick=function(){this._currentRotation.copy(this.rotateFrom).slerp(this.rotateTo,this.alpha),this.controls.rotate(this._currentRotation)},e}(vm),Am=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._init=function(t,e,i){this.valueFrom=t,this.valueTo=e,this.callback=i},e.prototype._tick=function(){this.callback(Zn(this.valueFrom,this.valueTo,this.alpha))},e}(vm),Mm=function(t){this._list=t||[],this._resolveList=[]},Pm={done:{}};Pm.done.get=function(){return this._list.every(function(t){return t.done})},Mm.prototype.then=function(t){var e=this;return(this.done?Promise.resolve():new Promise(function(t){e._resolveList.push(t),e._list.forEach(function(t){t.then(function(){e._resolveList.forEach(function(t){t()}),e._resolveList.length=0})})})).then(t)},Object.defineProperties(Mm.prototype,Pm);var Tm=function(t){this.stage=t,this.viewer=t.viewer,this.controls=t.viewerControls,this.animationList=[],this.finishedList=[]};Tm.prototype.add=function(t){return 0===t.duration?t.tick(this.viewer.stats):this.animationList.push(t),t},Tm.prototype.remove=function(t){var e=this.animationList,i=e.indexOf(t);i>-1&&e.splice(i,1)},Tm.prototype.run=function(t){for(var e=this,i=this.finishedList,r=this.animationList,n=r.length,o=0;o0;)i[r]=arguments[r+1];var n=this.mouse.key||0,o=this.mouse.buttons||0;this.actionList.forEach(function(r){r.type===t&&r.key===n&&r.button===o&&r.callback.apply(r,[e.stage].concat(i))})},Im.prototype.add=function(t,e){var i=Yo(t),r=i[0],n=i[1],o=i[2];this.actionList.push({type:r,key:n,button:o,callback:e})},Im.prototype.remove=function(t,e){var i=t.includes(\"*\"),r=Yo(t),n=r[0],o=r[1],a=r[2],s=this.actionList.filter(function(t){return!((t.type===n||i&&\"\"===n)&&(t.key===o||i&&0===o)&&(t.button===a||i&&0===a)&&(t.callback===e||void 0===e))});this.actionList=s},Im.prototype.preset=function(t){var e=this;this.clear(),(Cm[t]||[]).forEach(function(t){(i=e).add.apply(i,t);var i})},Im.prototype.clear=function(){this.actionList.length=0};var Lm=function(t){this.stage=t,this.mouse=t.mouseObserver,this.controls=t.mouseControls,this.mouse.signals.clicked.add(this._onClick,this),this.mouse.signals.hovered.add(this._onHover,this)};Lm.prototype._onClick=function(t,e){var i=this.stage.pickingControls.pick(t,e);this.stage.signals.clicked.dispatch(i),this.controls.run(\"clickPick\",i)},Lm.prototype._onHover=function(t,e){var i=this.stage.pickingControls.pick(t,e);i&&this.mouse.down.equals(this.mouse.position)&&(this.stage.transformComponent=i.component),this.stage.signals.hovered.dispatch(i),this.controls.run(\"hoverPick\",i)},Lm.prototype.dispose=function(){this.mouse.signals.clicked.remove(this._onClick,this),this.mouse.signals.hovered.remove(this._onHover,this)};var Rm=function(t){this.stage=t,this.mouse=t.mouseObserver,this.controls=t.mouseControls,this.mouse.signals.moved.add(this._onMove,this),this.mouse.signals.scrolled.add(this._onScroll,this),this.mouse.signals.dragged.add(this._onDrag,this),this.mouse.signals.clicked.add(this._onClick,this),this.mouse.signals.hovered.add(this._onHover,this)};Rm.prototype._onMove=function(){this.stage.tooltip.style.display=\"none\"},Rm.prototype._onScroll=function(t){this.controls.run(\"scroll\",t)},Rm.prototype._onDrag=function(t,e){this.controls.run(\"drag\",t,e)},Rm.prototype._onClick=function(t,e){this.controls.run(\"click\",t,e)},Rm.prototype._onHover=function(t,e){this.controls.run(\"hover\",t,e)},Rm.prototype.dispose=function(){this.mouse.signals.moved.remove(this._onMove,this),this.mouse.signals.scrolled.remove(this._onScroll,this),this.mouse.signals.dragged.remove(this._onDrag,this),this.mouse.signals.clicked.remove(this._onClick,this),this.mouse.signals.hovered.remove(this._onHover,this)};var Om=function(t){this.viewer=t.viewer,this.animationControls=t.animationControls,this.viewer.signals.ticked.add(this._onTick,this)};Om.prototype._onTick=function(t){this.animationControls.run(t)},Om.prototype.dispose=function(){this.viewer.signals.ticked.remove(this._onTick,this)};var Dm=function(t,e,i,r){var n=r||{};this.offsetX=dn(n.offsetX,0),this.offsetY=dn(n.offsetY,0),this.visible=dn(n.visible,!0),this.component=t,this.stage=t.stage,this.viewer=this.stage.viewer,this.position=e,this._viewerPosition=new g,this._updateViewerPosition(),this._canvasPosition=new g,this._cameraPosition=new g,this.element=document.createElement(\"div\"),Object.assign(this.element.style,{display:\"block\",position:\"fixed\",zIndex:1+(parseInt(this.viewer.container.style.zIndex)||0),pointerEvents:\"none\",backgroundColor:\"rgba( 0, 0, 0, 0.6 )\",color:\"lightgrey\",padding:\"8px\",fontFamily:\"sans-serif\",left:\"-10000px\"}),this.viewer.container.appendChild(this.element),this.setContent(i),this.updateVisibility(),this.viewer.signals.ticked.add(this._update,this),this.component.signals.matrixChanged.add(this._updateViewerPosition,this)};Dm.prototype.setContent=function(t){var e=this.element.style.display;\"none\"===e&&(this.element.style.left=\"-10000px\",this.element.style.display=\"block\"),t instanceof Element?(this.element.innerHTML=\"\",this.element.appendChild(t)):this.element.innerHTML=t,this._clientRect=this.element.getBoundingClientRect(),\"none\"===e&&(this.element.style.display=e)},Dm.prototype.setVisibility=function(t){this.visible=t,this.updateVisibility()},Dm.prototype.getVisibility=function(){return this.visible&&this.component.visible},Dm.prototype.updateVisibility=function(){this.element.style.display=this.getVisibility()?\"block\":\"none\"},Dm.prototype._updateViewerPosition=function(){this._viewerPosition.copy(this.position).applyMatrix4(this.component.matrix)},Dm.prototype._update=function(){if(this.getVisibility()){var t=this.element.style,e=this._canvasPosition,i=this._viewerPosition,r=this._clientRect;if(this._cameraPosition.copy(i).add(this.viewer.translationGroup.position).applyMatrix4(this.viewer.rotationGroup.matrix).sub(this.viewer.camera.position),this._cameraPosition.z<0)return void(t.display=\"none\");t.display=\"block\",t.opacity=1-Qn(this.viewer.scene.fog.near,this.viewer.scene.fog.far,this._cameraPosition.length()),this.stage.viewerControls.getPositionOnCanvas(i,e),t.bottom=this.offsetX+e.y+r.height/2+\"px\",t.left=this.offsetY+e.x-r.width/2+\"px\"}},Dm.prototype.dispose=function(){this.viewer.container.removeChild(this.element),this.viewer.signals.ticked.remove(this._update,this),this.component.signals.matrixChanged.remove(this._updateViewerPosition,this)};var Nm=new v,km=new g,Bm=new m,Fm=function(t){this.component=t,this.stage=t.stage,this.viewer=t.stage.viewer,this.signals={changed:new io}},zm={position:{},rotation:{}};zm.position.get=function(){return this.component.position},zm.rotation.get=function(){return this.component.quaternion},Fm.prototype.changed=function(){this.component.updateMatrix(),this.viewer.requestRender(),this.signals.changed.dispatch()},Fm.prototype.spin=function(t,e){Nm.getInverse(this.viewer.rotationGroup.matrix),km.copy(On(t)).applyMatrix4(Nm),Nm.extractRotation(this.component.transform),Nm.premultiply(this.viewer.rotationGroup.matrix),Nm.getInverse(Nm),km.copy(On(t)),km.applyMatrix4(Nm),Nm.makeRotationAxis(km,e),Bm.setFromRotationMatrix(Nm),this.component.quaternion.premultiply(Bm),this.changed()},Object.defineProperties(Fm.prototype,zm),sa.__deps=[ca],ua.__deps=[ca,aa];var Um=function(t){this.array=t};Um.prototype.getIndex=function(t){return this.array?this.array[t]:t},Um.prototype.getObject=function(){return{}},Um.prototype._applyTransformations=function(t,e,i){return e&&t.applyMatrix4(e.matrix),i&&t.applyMatrix4(i.matrix),t},Um.prototype._getPosition=function(){return new g},Um.prototype.getPosition=function(t,e,i){return this._applyTransformations(this._getPosition(t),e,i)};var jm=function(t){function e(e){t.call(this),this.shape=e}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={data:{}};return i.data.get=function(){return this.shape},Object.defineProperties(e.prototype,i),e}(Um),Gm=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"cylinder\"},e.prototype.getObject=function(t){var e=this.shape;return{shape:e,color:(new tt).fromArray(e.cylinderColor,3*t),radius:e.cylinderRadius[t],position1:(new g).fromArray(e.cylinderPosition1,3*t),position2:(new g).fromArray(e.cylinderPosition2,3*t),name:e.cylinderName[t]}},e.prototype._getPosition=function(t){var e=this.shape,i=(new g).fromArray(e.cylinderPosition1,3*t),r=(new g).fromArray(e.cylinderPosition2,3*t);return i.add(r).multiplyScalar(.5)},Object.defineProperties(e.prototype,i),e}(jm),Vm=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"arrow\"},e.prototype.getObject=function(t){var e=this.shape;return{shape:e,position:this._getPosition(t),position1:(new g).fromArray(e.arrowPosition1,3*t),position2:(new g).fromArray(e.arrowPosition2,3*t),color:(new tt).fromArray(e.arrowColor,3*t),radius:e.arrowRadius[t],name:e.arrowName[t]}},e.prototype._getPosition=function(t){var e=this.shape,i=(new g).fromArray(e.arrowPosition1,3*t),r=(new g).fromArray(e.arrowPosition2,3*t);return i.add(r).multiplyScalar(.5)},Object.defineProperties(e.prototype,i),e}(jm),$m=function(t){function e(e,i){t.call(this,e),this.structure=i}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"atom\"},i.data.get=function(){return this.structure},e.prototype.getObject=function(t){return this.structure.getAtomProxy(this.getIndex(t))},e.prototype._getPosition=function(t){return(new g).copy(this.getObject(t))},Object.defineProperties(e.prototype,i),e}(Um),Hm=function(t){function e(e){t.call(this),this.axes=e}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"axes\"},i.data.get=function(){return this.axes},e.prototype.getObject=function(){return{axes:this.axes}},e.prototype._getPosition=function(){return this.axes.center.clone()},Object.defineProperties(e.prototype,i),e}(Um),Wm=function(t){function e(e,i,r){t.call(this,e),this.structure=i,this.bondStore=r||i.bondStore}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"bond\"},i.data.get=function(){return this.structure},e.prototype.getObject=function(t){var e=this.structure.getBondProxy(this.getIndex(t));return e.bondStore=this.bondStore,e},e.prototype._getPosition=function(t){var e=this.getObject(t);return(new g).copy(e.atom1).add(e.atom2).multiplyScalar(.5)},Object.defineProperties(e.prototype,i),e}(Um),Xm=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"contact\"},Object.defineProperties(e.prototype,i),e}(Wm),qm=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"cone\"},e.prototype.getObject=function(t){var e=this.shape;return{shape:e,position:this._getPosition(t),position1:(new g).fromArray(e.conePosition1,3*t),position2:(new g).fromArray(e.conePosition2,3*t),color:(new tt).fromArray(e.coneColor,3*t),radius:e.coneRadius[t],name:e.coneName[t]}},e.prototype._getPosition=function(t){var e=this.shape,i=(new g).fromArray(e.conePosition1,3*t),r=(new g).fromArray(e.conePosition2,3*t);return i.add(r).multiplyScalar(.5)},Object.defineProperties(e.prototype,i),e}(jm),Ym=function(t){function e(e,i,r){t.call(this,e),this.validation=i,this.structure=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"clash\"},i.data.get=function(){return this.validation},e.prototype.getObject=function(t){var e=this.validation,i=this.getIndex(t);return{validation:e,index:i,clash:e.clashArray[i]}},e.prototype._getAtomProxyFromSele=function(t){var e=new Kd(t),i=this.structure.getAtomIndices(e)[0];return this.structure.getAtomProxy(i)},e.prototype._getPosition=function(t){var e=this.getObject(t).clash,i=this._getAtomProxyFromSele(e.sele1),r=this._getAtomProxyFromSele(e.sele2);return(new g).copy(i).add(r).multiplyScalar(.5)},Object.defineProperties(e.prototype,i),e}(Um),Zm=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"distance\"},Object.defineProperties(e.prototype,i),e}(Wm),Km=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"ellipsoid\"},e.prototype.getObject=function(t){var e=this.shape;return{shape:e,position:this._getPosition(t),color:(new tt).fromArray(e.ellipsoidColor,3*t),radius:e.ellipsoidRadius[t],majorAxis:(new g).fromArray(e.ellipsoidMajorAxis,3*t),minorAxis:(new g).fromArray(e.ellipsoidMinorAxis,3*t),name:e.ellipsoidName[t]}},e.prototype._getPosition=function(t){return(new g).fromArray(this.shape.ellipsoidPosition,3*t)},Object.defineProperties(e.prototype,i),e}(jm),Qm=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"ignore\"},Object.defineProperties(e.prototype,i),e}(Um),Jm=function(t){function e(e,i){t.call(this,e),this.mesh=i}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"mesh\"},e.prototype.getObject=function(){var t=this.mesh;return{shape:this.shape,name:t.name,serial:t.serial}},e.prototype._getPosition=function(){return this.__position||(this.__position=Zo(this.mesh.position)),this.__position},Object.defineProperties(e.prototype,i),e}(jm),tg=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"sphere\"},e.prototype.getObject=function(t){var e=this.shape;return{shape:e,position:this._getPosition(t),color:(new tt).fromArray(e.sphereColor,3*t),radius:e.sphereRadius[t],name:e.sphereName[t]}},e.prototype._getPosition=function(t){return(new g).fromArray(this.shape.spherePosition,3*t)},Object.defineProperties(e.prototype,i),e}(jm),eg=function(t){function e(e,i){t.call(this,e),this.surface=i}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"surface\"},i.data.get=function(){return this.surface},e.prototype.getObject=function(t){return{surface:this.surface,index:this.getIndex(t)}},e.prototype._getPosition=function(){return this.surface.center.clone()},Object.defineProperties(e.prototype,i),e}(Um),ig=function(t){function e(e,i){t.call(this),this.unitcell=e,this.structure=i}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"unitcell\"},i.data.get=function(){return this.unitcell},e.prototype.getObject=function(){return{unitcell:this.unitcell,structure:this.structure}},e.prototype._getPosition=function(){return this.unitcell.getCenter(this.structure)},Object.defineProperties(e.prototype,i),e}(Um),rg=(function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};i.type.get=function(){return\"unknown\"},Object.defineProperties(e.prototype,i)}(Um),function(t){function e(e,i){t.call(this,e),this.volume=i}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{},data:{}};return i.type.get=function(){return\"volume\"},i.data.get=function(){return this.volume},e.prototype.getObject=function(t){var e=this.volume,i=this.getIndex(t);return{volume:e,index:i,value:e.data[i]}},e.prototype._getPosition=function(t){var e=this.volume.position,i=this.getIndex(t);return new g(e[3*i],e[3*i+1],e[3*i+2])},Object.defineProperties(e.prototype,i),e}(Um)),ng=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"slice\"},Object.defineProperties(e.prototype,i),e}(rg),og=function(t,e){this.length=t,this._words=new Uint32Array(t+32>>>5),!0===e&&this.setAll()};og.prototype.get=function(t){return 0!=(this._words[t>>>5]&1<>>5]|=1<>>5]&=~(1<>>5]^=1<>>5,a=e>>>5,s=o;s>>5]|=1<>>5]|=1<>>5]|=1<>>5]&=~(1<>>5]&=~(1<>>5]&=~(1<>>5]|=1<>>5]&=~(1<>>i,this},og.prototype._isRangeValue=function(t,e,i){for(var r=this._words,n=!0===i?4294967295:0,o=t>>>5,a=e>>>5,s=o;s>>5]&1<>>5]&1<>>5]&1<>>5]&1<>>5]&1<0?f>e&&(e=f):f>i&&(i=f),Ko(s.copy(t),l,u);var m=c.subVectors(s,u).normalize().dot(l),g=s.distanceTo(u);m>0?g>r&&(r=g):g>n&&(n=g),Ko(s.copy(t),p,u);var v=c.subVectors(s,u).normalize().dot(p),y=s.distanceTo(u);v>0?y>o&&(o=y):y>a&&(a=y)}),{d1a:e,d2a:r,d3a:o,d1b:-i,d2b:-n,d3b:-a}},za.prototype.constructor=za,Ua.prototype.constructor=Ua,$a.__deps=[ja,Ga,Va,Cn],Ha.__deps=[Wa],Wa.__deps=[na,ra,oa,ea],qa.__deps=[Gn,ha,la,sa,ca,pa,da,na,fa,Ia,Ra,Da,Oa,Na];var jg=function(t,e,i){this.name=t||\"\",this.path=e||\"\",this.info={},this.center=new g,this.boundingBox=new st,i instanceof Et||i instanceof Ct||i instanceof Re?this.fromGeometry(i):i&&(this.set(i.position,i.index,i.normal,i.color,i.atomindex,i.contour),this.boundingBox.setFromArray(i.position),this.boundingBox.getCenter(this.center))},Gg={type:{}};Gg.type.get=function(){return\"Surface\"},jg.prototype.set=function(t,e,i,r,n,o){this.position=t,this.index=e,this.normal=i,this.color=r,this.atomindex=n,this.size=t.length/3,this.contour=o},jg.prototype.fromGeometry=function(e){t.Debug&&cf.time(\"GeometrySurface.fromGeometry\");var i;e instanceof Et?(e.computeVertexNormals(!0),i=(new Ct).fromGeometry(e)):i=e instanceof Ct?e:e[0],i.boundingBox||i.computeBoundingBox(),this.boundingBox.copy(i.boundingBox),this.boundingBox.getCenter(this.center);var r,n,o;if(i instanceof Ct){var a=i.attributes,s=!!a.normal&&a.normal.array;(!s||0===s[0]&&0===s[1]&&0===s[2])&&i.computeVertexNormals(),r=a.position.array,n=a.index?a.index.array:null,o=a.normal.array}this.set(r,n,o,void 0,void 0),t.Debug&&cf.timeEnd(\"GeometrySurface.setGeometry\")},jg.prototype.getPosition=function(){return this.position},jg.prototype.getColor=function(t){var e=t||{};e.surface=this;var i=this.size,r=new Float32Array(3*i),n=lf.getScheme(e);if(n.volumeColor||\"random\"===e.scheme)for(var o=0;o=t&&f<=e||i&&(fe)){var m=3*l;u[l]=f,h[m+0]=n[d+0],h[m+1]=n[d+1],h[m+2]=n[d+2],o&&(c[l]=o[p]),l+=1}}this.data=new Float32Array(this._dataBuffer,0,l),this.position=new Float32Array(this._positionBuffer,0,3*l),o&&(this.atomindex=new Float32Array(this._atomindexBuffer,0,l))}this._filterHash=a}},Object.defineProperties(Hg.prototype,Wg),Hg.prototype.getValueForSigma=Vg.prototype.getValueForSigma,Hg.prototype.getSigmaForValue=Vg.prototype.getSigmaForValue,Hg.prototype.getDataAtomindex=Vg.prototype.getDataAtomindex,Hg.prototype.getDataPosition=Vg.prototype.getDataPosition,Hg.prototype.getDataColor=Vg.prototype.getDataColor,Hg.prototype.getDataPicking=Vg.prototype.getDataPicking,Hg.prototype.getDataSize=Vg.prototype.getDataSize;var Xg=function(e,i){t.Debug&&cf.time(\"BondHash init\");for(var r=e.count,n=e.atomIndex1,o=e.atomIndex2,a=new Uint8Array(i),s=new Int32Array(i),c=0;ca?s.set(e[n].subarray(0,a)):s.set(e[n]),e[n]=s}},qg.prototype.growIfFull=function(){if(this.count>=this.length){var t=Math.round(1.5*this.length);this.resize(Math.max(256,t))}},qg.prototype.copyFrom=function(t,e,i,r){for(var n=this,o=0,a=this.__fields.length;o0;)s-=1;a<=s&&(a===o?o=s:s===o&&(o=a),e(a,s),a+=1,s-=1)}while(a<=s);i(r,s),i(a,n)}}cf.time(\"Store.sort\");var r=this,n=new this.constructor(1);i(0,this.count-1),cf.timeEnd(\"Store.sort\")},qg.prototype.clear=function(){this.count=0},qg.prototype.dispose=function(){var t=this;delete this.length,delete this.count;for(var e=0,i=this.__fields.length;e0&&(l[i]=M.angleTo(P)),t=Math.cos(x.angleTo(_)),f[i]=180/Math.PI*Math.acos(t),r=x.length(),n=_.length(),p[i]=Math.sqrt(n*r)/Math.max(2,2*(1-t)),d[i]=Math.abs(y.dot(M)),w.copy(x).multiplyScalar(p[i]/r),S.copy(_).multiplyScalar(p[i]/n),w.subVectors(L,w),S.subVectors(R,S),w.toArray(u,e+3),S.toArray(u,e+6),T.subVectors(I,E),T.toArray(m,e),P.copy(M),E.copy(w);for(w.fromArray(u,3),S.fromArray(u,6),M.subVectors(w,S).normalize(),I.index=o.getAtomIndexByType(0,C),E.copy(I),A.copy(I),Ko(A,M,w),A.toArray(u,0),T.subVectors(E,w),T.toArray(m,0),w.fromArray(u,3*s-6),S.fromArray(u,3*s-9),M.subVectors(w,S).normalize(),I.index=o.getAtomIndexByType(s-1,C),E.copy(I),A.copy(I),Ko(A,M,w),A.toArray(u,3*s-3),i=s-3;ie?B=!0:h.bending[F]>t&&(B=!0)),B){if(F-v<4){v=F,B=!1;continue}D.index=R.traceAtomIndex,E=h.axis.subarray(3*v+3,3*F),C=h.center.subarray(3*v,3*F+3),p=Zo(E).normalize(),d=Zo(C),I.fromArray(C),Ko(I,p,d),L.fromArray(C,C.length-3),Ko(L,p,d),p.subVectors(L,I),p.toArray(b,y),d.toArray(x,y),I.toArray(_,y),L.toArray(w,y),f.atomColorToArray(D,S,y),A.push(D.index),M.push(m.atomRadius(D)),P.push(u+v),T.push(u+F+1-v),y+=3,v=F,B=!1}var z=new Float32Array(A);return{axis:new Float32Array(b),center:new Float32Array(x),begin:new Float32Array(_),end:new Float32Array(w),color:new Float32Array(S),picking:new $m(z,s),size:new Float32Array(M),residueOffset:P,residueCount:T}}},Qa.prototype={push:function(t){this.content.push(t),this.bubbleUp(this.content.length-1)},pop:function(){var t=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),t},peek:function(){return this.content[0]},remove:function(t){for(var e=this,i=this.content.length,r=0;r0;){var r=Math.floor((t+1)/2)-1,n=e.content[r];if(!(e.scoreFunction(i)\":\"3/4-Z\",\"?\":\"X-Y\",\"@\":\"Y-X\",A:\"Z+1/3\",B:\"Z+2/3\",C:\"X+2/3\",D:\"Y+1/3\",E:\"-Y+2/3\",F:\"X-Y+1/3\",G:\"Y-X+2/3\",H:\"-X+1/3\",I:\"X+1/3\",J:\"Y+2/3\",K:\"-Y+1/3\",L:\"X-Y+2/3\",M:\"Y-X+1/3\",N:\"-X+2/3\",O:\"2/3+X\",P:\"1/3+Y\",Q:\"1/3+Z\",R:\"2/3-Y\",S:\"1/3+X-Y\",T:\"2/3+Y-X\",U:\"1/3-X\",V:\"2/3-X\",W:\"1/3-Y\",X:\"1/3-Z\",Y:\"2/3+Y\",Z:\"1/3+Y-X\",\"[\":\"2/3+X-Y\",\"]\":\"1/3+X\",\"^\":\"2/3+Z\",_:\"2/3-Z\",\"`\":\"5/6+Z\",a:\"1/6+Z\",b:\"5/6-Z\",c:\"1/6-Z\",d:\"Z+5/6\",e:\"Z+1/6\",f:\"Z+1/4\",g:\"+Y\"},ev={\"P 1\":\" !#\",\"P -1\":\" !#$%&\",\"P 1 2 1\":\" !#$!&\",\"P 1 21 1\":\" !#$'&\",\"C 1 2 1\":\" !#$!&()#*)&\",\"P 1 m 1\":\" !# %#\",\"P 1 c 1\":\" !# %+\",\"C 1 m 1\":\" !# %#()#(,#\",\"C 1 c 1\":\" !# %+()#(,+\",\"P 1 2/m 1\":\" !# %#$!&$%&\",\"P 1 21/m 1\":\" !#$)&$%& ,#\",\"C 1 2/m 1\":\" !# %#$!&$%&()#(,#*)&*,&\",\"P 1 2/c 1\":\" !#$!-$%& %+\",\"P 1 21/c 1\":\" !#$%&$)- ,+\",\"C 1 2/c 1\":\" !#$!-$%& %+()#*)-*,&(,+\",\"P 2 2 2\":\" !#$%#$!& %&\",\"P 2 2 21\":\" !#$%+$!- %&\",\"P 21 21 2\":\" !#$%#*)&(,&\",\"P 21 21 21\":\" !#*%+$)-(,&\",\"C 2 2 21\":\" !#$%+$!- %&()#*,+*)-(,&\",\"C 2 2 2\":\" !#$%#$!& %&()#*,#*)&(,&\",\"F 2 2 2\":\" !#$%#$!& %& )+$,+$)- ,-(!+*%+*!-(%-()#*,#*)&(,&\",\"I 2 2 2\":\" !#$%# %&$!&.'/01/.120'2\",\"I 21 21 21\":\" !#*%+$)-(,&()+$,#*!& %-\",\"P m m 2\":\" !#$%# %#$!#\",\"P m c 21\":\" !#$%+ %+$!#\",\"P c c 2\":\" !#$%# %+$!+\",\"P m a 2\":\" !#$%#(%#*!#\",\"P c a 21\":\" !#$%+(%#*!+\",\"P n c 2\":\" !#$%# ,+$)+\",\"P m n 21\":\" !#*%+(%+$!#\",\"P b a 2\":\" !#$%#(,#*)#\",\"P n a 21\":\" !#$%+(,#*)+\",\"P n n 2\":\" !#$%#(,+*)+\",\"C m m 2\":\" !#$%# %#$!#()#*,#(,#*)#\",\"C m c 21\":\" !#$%+ %+$!#()#*,+(,+*)#\",\"C c c 2\":\" !#$%# %+$!+()#*,#(,+*)+\",\"A m m 2\":\" !#$%# %#$!# )+$,+ ,+$)+\",\"A b m 2\":\" !#$%# ,#$)# )+$,+ %+$!+\",\"A m a 2\":\" !#$%#(%#*!# )+$,+(,+*)+\",\"A b a 2\":\" !#$%#(,#*)# )+$,+(%+*!+\",\"F m m 2\":\" !#$%# %#$!# )+$,+ ,+$)+(!+*%+(%+*!+()#*,#(,#*)#\",\"F d d 2\":\" !#$%#345675 )+$,+3896:9(!+*%+;49<79()#*,#;85<:5\",\"I m m 2\":\" !#$%# %#$!#()+*,+(,+*)+\",\"I b a 2\":\" !#$%#(,#*)#()+*,+ %+$!+\",\"I m a 2\":\" !#$%#(%#*!#()+*,+ ,+$)+\",\"P 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#\",\"P 2/n 2/n 2/n\":\" !#$%#$!& %&*,-()-(,+*)+\",\"P 2/c 2/c 2/m\":\" !#$%#$!- %-$%& !& %+$!+\",\"P 2/b 2/a 2/n\":\" !#$%#$!& %&*,&()&(,#*)#\",\"P 21/m 2/m 2/a\":\" !#*%#$!&(%&$%&(!& %#*!#\",\"P 2/n 21/n 2/a\":\" !#*%#*)- ,-$%&(!&(,+$)+\",\"P 2/m 2/n 21/a\":\" !#*%+*!- %&$%&(!-(%+$!#\",\"P 21/c 2/c 2/a\":\" !#*%#$!-(%-$%&(!& %+*!+\",\"P 21/b 21/a 2/m\":\" !#$%#*)&(,&$%& !&(,#*)#\",\"P 21/c 21/c 2/n\":\" !#*,#$)-(%-$%&()& ,+*!+\",\"P 2/b 21/c 21/m\":\" !#$%+$)- ,&$%& !- ,+$)#\",\"P 21/n 21/n 2/m\":\" !#$%#*)-(,-$%& !&(,+*)+\",\"P 21/m 21/m 2/n\":\" !#$%#*'&.,&*,&.'& %#$!#\",\"P 21/b 2/c 21/n\":\" !#*,+$!-(,&$%&()- %+*)#\",\"P 21/b 21/c 21/a\":\" !#*%+$)-(,&$%&(!- ,+*)#\",\"P 21/n 21/m 21/a\":\" !#0%/$'&.12$%&.!2 1#0'/\",\"C 2/m 2/c 21/m\":\" !#$%+$!- %&$%& !- %+$!#()#*,+*)-(,&*,&()-(,+*)#\",\"C 2/m 2/c 21/a\":\" !#$,+$)- %&$%& )- ,+$!#()#*%+*!-(,&*,&(!-(%+*)#\",\"C 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#()#*,#*)&(,&*,&()&(,#*)#\",\"C 2/c 2/c 2/m\":\" !#$%#$!- %-$%& !& %+$!+()#*,#*)-(,-*,&()&(,+*)+\",\"C 2/m 2/m 2/a\":\" !#$,#$)& %&$%& )& ,#$!#()#*%#*!&(,&*,&(!&(%#*)#\",\"C 2/c 2/c 2/a\":\" !#*,#$!&(,&$,-(!- ,+*!+()#$%#*)& %&*%- )-(%+$)+\",\"F 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!# )+$,+$)- ,-$,- )- ,+$)+(!+*%+*!-(%-*%-(!-(%+*!+()#*,#*)&(,&*,&()&(,#*)#\",\"F 2/d 2/d 2/d\":\" !#$%#$!& %&64=37=345675 )+$,+$)- ,-68>3:>3896:9(!+*%+*!-(%-<4>;7>;49<79()#*,#*)&(,&<8=;:=;85<:5\",\"I 2/m 2/m 2/m\":\" !#$%#$!& %&$%& !& %#$!#()+*,+*)-(,-*,-()-(,+*)+\",\"I 2/b 2/a 2/m\":\" !#$%#*)&(,&$%& !&(,#*)#()+*,+$!- %-*,-()- %+$!+\",\"I 21/b 21/c 21/a\":\" !#*%+$)-(,&$%&(!- ,+*)#()+$,#*!& %-*,- )&(%#$!+\",\"I 21/m 21/m 21/a\":\" !#$,#$)& %&$%& )& ,#$!#()+*%+*!-(,-*,-(!-(%+*)+\",\"P 4\":\" !#$%#% #!$#\",\"P 41\":\" !#$%+% 5!$9\",\"P 42\":\" !#$%#% +!$+\",\"P 43\":\" !#$%+% 9!$5\",\"I 4\":\" !#$%#% #!$#()+*,+,(+)*+\",\"I 41\":\" !#*,+%(5)$9()+$%#, 9!*5\",\"P -4\":\" !#$%#!$&% &\",\"I -4\":\" !#$%#!$&% &()+*,+)*-,(-\",\"P 4/m\":\" !#$%#% #!$#$%& !&!$&% &\",\"P 42/m\":\" !#$%#% +!$+$%& !&!$-% -\",\"P 4/n\":\" !#$%#,(#)*#*,&()&!$&% &\",\"P 42/n\":\" !#$%#,(+)*+*,-()-!$&% &\",\"I 4/m\":\" !#$%#% #!$#$%& !&!$&% &()+*,+,(+)*+*,-()-)*-,(-\",\"I 41/a\":\" !#*,+%(5)$9$,=(!>!$&,(-()+$%#, 9!*5*%> )=)*-% &\",\"P 4 2 2\":\" !#$%#% #!$#$!& %&! &%$&\",\"P 4 21 2\":\" !#$%#,(#)*#*)&(,&! &%$&\",\"P 41 2 2\":\" !#$%+% 5!$9$!& %-! >%$=\",\"P 41 21 2\":\" !#$%+,(5)*9*)=(,>! &%$-\",\"P 42 2 2\":\" !#$%#% +!$+$!& %&! -%$-\",\"P 42 21 2\":\" !#$%#,(+)*+*)-(,-! &%$&\",\"P 43 2 2\":\" !#$%+% 9!$5$!& %-! =%$>\",\"P 43 21 2\":\" !#$%+,(9)*5*)>(,=! &%$-\",\"I 4 2 2\":\" !#$%#% #!$#$!& %&! &%$&()+*,+,(+)*+*)-(,-)(-,*-\",\"I 41 2 2\":\" !#*,+%(5)$9*!> ,=)(-%$&()+$%#, 9!*5$)=(%>! &,*-\",\"P 4 m m\":\" !#$%#% #!$# %#$!#%$#! #\",\"P 4 b m\":\" !#$%#% #!$#(,#*)#,*#)(#\",\"P 42 c m\":\" !#$%#% +!$+ %+$!+%$#! #\",\"P 42 n m\":\" !#$%#,(+)*+(,+*)+%$#! #\",\"P 4 c c\":\" !#$%#% #!$# %+$!+%$+! +\",\"P 4 n c\":\" !#$%#% #!$#(,+*)+,*+)(+\",\"P 42 m c\":\" !#$%#% +!$+ %#$!#%$+! +\",\"P 42 b c\":\" !#$%#% +!$+(,#*)#,*+)(+\",\"I 4 m m\":\" !#$%#% #!$# %#$!#%$#! #()+*,+,(+)*+(,+*)+,*+)(+\",\"I 4 c m\":\" !#$%#% #!$# %+$!+%$+! +()+*,+,(+)*+(,#*)#,*#)(#\",\"I 41 m d\":\" !#*,+%(5)$9 %#*)+%*5) 9()+$%#, 9!*5(,+$!#,$9!(5\",\"I 41 c d\":\" !#*,+%(5)$9 %+*)#%*9) 5()+$%#, 9!*5(,#$!+,$5!(9\",\"P -4 2 m\":\" !#$%#% &!$&$!& %&%$#! #\",\"P -4 2 c\":\" !#$%#% &!$&$!- %-%$+! +\",\"P -4 21 m\":\" !#$%#% &!$&*)&(,&,*#)(#\",\"P -4 21 c\":\" !#$%#% &!$&*)-(,-,*+)(+\",\"P -4 m 2\":\" !#$%#!$&% & %#$!#! &%$&\",\"P -4 c 2\":\" !#$%#% &!$& %+$!+! -%$-\",\"P -4 b 2\":\" !#$%#% &!$&(,#*)#)(&,*&\",\"P -4 n 2\":\" !#$%#% &!$&(,+*)+)(-,*-\",\"I -4 m 2\":\" !#$%#% &!$& %#$!#! &%$&()+*,+,(-)*-(,+*)+)(-,*-\",\"I -4 c 2\":\" !#$%#% &!$& %+$!+! -%$-()+*,+,(-)*-(,#*)#)(&,*&\",\"I -4 2 m\":\" !#$%#% &!$&$!& %&%$#! #()+*,+,(-)*-*)-(,-,*+)(+\",\"I -4 2 d\":\" !#$%#% &!$&*!>(%>,$9) 9()+*,+,(-)*-$)= ,=%*5!(5\",\"P 4/m 2/m 2/m\":\" !#$%#% #!$#$!& %&! &%$&$%& !&!$&% & %#$!#%$#! #\",\"P 4/m 2/c 2/c\":\" !#$%#% #!$#$!- %-! -%$-$%& !&!$&% & %+$!+%$+! +\",\"P 4/n 2/b 2/m\":\" !#$%#% #!$#$!& %&! &%$&*,&()&)*&,(&(,#*)#,*#)(#\",\"P 4/n 2/n 2/c\":\" !#$%#% #!$#$!& %&! &%$&*,-()-)*-,(-(,+*)+,*+)(+\",\"P 4/m 21/b 2/m\":\" !#$%#% #!$#*)&(,&)(&,*&$%& !&!$&% &(,#*)#,*#)(#\",\"P 4/m 21/n 2/c\":\" !#$%#% #!$#*)-(,-)(-,*-$%& !&!$&% &(,+*)+,*+)(+\",\"P 4/n 21/m 2/m\":\" !#$%#,(#)*#*)&(,&! &%$&*,&()&!$&% & %#$!#,*#)(#\",\"P 4/n 2/c 2/c\":\" !#$%#,(#)*#*)-(,-! -%$-*,&()&!$&% & %+$!+,*+)(+\",\"P 42/m 2/m 2/c\":\" !#$%#% +!$+$!& %&! -%$-$%& !&!$-% - %#$!#%$+! +\",\"P 42/m 2/c 2/m\":\" !#$%#% +!$+$!- %-! &%$&$%& !&!$-% - %+$!+%$#! #\",\"P 42/n 2/b 2/c\":\" !#$%#,(+)*+$!- %-)(&,*&*,-()-!$&% &(,#*)#%$+! +\",\"P 42/n 2/n 2/m\":\" !#$%#,(+)*+$!& %&)(-,*-*,-()-!$&% &(,+*)+%$#! #\",\"P 42/m 21/b 2/c\":\" !#$%#% +!$+*)&(,&)(-,*-$%& !&!$-% -(,#*)#,*+)(+\",\"P 42/m 21/n 2/m\":\" !#$%#,./'*/*'-.,-! &%$&$%& !&'*-,.-.,/*'/%$#! #\",\"P 42/n 21/m 2/c\":\" !#$%#,(+)*+*)-(,-! &%$&*,-()-!$&% & %#$!#,*+)(+\",\"P 42/n 21/c 2/m\":\" !#$%#,(+)*+*)&(,&! -%$-*,-()-!$&% & %+$!+,*#)(#\",\"I 4/m 2/m 2/m\":\" !#$%#% #!$#$!& %&! &%$&$%& !&!$&% & %#$!#%$#! #()+*,+,(+)*+*)-(,-)(-,*-*,-()-)*-,(-(,+*)+,*+)(+\",\"I 4/m 2/c 2/m\":\" !#$%#% #!$#$!- %-! -%$-$%& !&!$&% & %+$!+%$+! +()+*,+,(+)*+*)&(,&)(&,*&*,-()-)*-,(-(,#*)#,*#)(#\",\"I 41/a 2/m 2/d\":\" !#*,+%(5)$9*!> ,=)(-%$&$,=(!>!$&,(-(,+$!#,$9!(5()+$%#, 9!*5$)=(%>! &,*-*%> )=)*-% & %#*)+%*5) 9\",\"I 41/a 2/c 2/d\":\" !#*,+%(5)$9*!= ,>)(&%$-$,=(!>!$&,(-(,#$!+,$5!(9()+$%#, 9!*5$)>(%=! -,*&*%> )=)*-% & %+*)#%*9) 5\",\"P 3\":\" !#%?#@$#\",\"P 31\":\" !#%?A@$B\",\"P 32\":\" !#%?B@$A\",\"H 3\":\" !#%?#@$#CDAEFAGHAIJBKLBMNB\",\"R 3\":\" !## !!# \",\"P -3\":\" !#%?#@$#$%&!@&? &\",\"H -3\":\" !#%?#@$#$%&!@&? &OPQRSQTUQVWXYZX[]X]Y^W[^ZV^UR_PT_SO_\",\"R -3\":\" !## !!# $%&&$%%&$\",\"P 3 1 2\":\" !#%?#@$#%$&@!& ?&\",\"P 3 2 1\":\" !#%?#@$#! &?%&$@&\",\"P 31 1 2\":\" !#%?Q@$^%$_@!X ?&\",\"P 31 2 1\":\" !#%?A@$B! &?%_$@X\",\"P 32 1 2\":\" !#%?^@$Q%$X@!_ ?&\",\"P 32 2 1\":\" !#%?B@$A! &?%X$@_\",\"H 3 2\":\" !#%?#@$#! &?%&$@&OPQRSQTUQY]X[WXVZX]Y^W[^ZV^PO_SR_UT_\",\"R 3 2\":\" !## !!# %$&$&%&%$\",\"P 3 m 1\":\" !#%?#@$#%$#@!# ?#\",\"P 3 1 m\":\" !#%?#@$#! #?%#$@#\",\"P 3 c 1\":\" !#%?#@$#%$+@!+ ?+\",\"P 3 1 c\":\" !#%?#@$#! +?%+$@+\",\"H 3 m\":\" !#%?#@$#%$#@!# ?#OPQRSQTUQRUQTPQOSQ]Y^W[^ZV^WV^ZY^][^\",\"R 3 m\":\" !## !!# ! # #!#! \",\"H 3 c\":\" !#%?#@$#%$+@!+ ?+OPQRSQTUQRU`TP`OS`]Y^W[^ZV^WVaZYa][a\",\"R 3 c\":\" !## !!# '././'/'.\",\"P -3 1 2/m\":\" !#%?#@$#%$&@!& ?&$%&!@&? &! #?%#$@#\",\"P -3 1 2/c\":\" !#%?#@$#%$-@!- ?-$%&!@&? &! +?%+$@+\",\"P -3 2/m 1\":\" !#%?#@$#! &?%&$@&$%&!@&? &%$#@!# ?#\",\"P -3 2/c 1\":\" !#%?#@$#! -?%-$@-$%&!@&? &%$+@!+ ?+\",\"H -3 2/m\":\" !#%?#@$#! &?%&$@&$%&!@&? &%$#@!# ?#OPQRSQTUQY]X[WXVZXVWXYZX[]XRUQTPQOSQ]Y^W[^ZV^PO_SR_UT_UR_PT_SO_WV^ZY^][^\",\"R -3 2/m\":\" !## !!# %$&$&%&%$$%&&$%%&$! # #!#! \",\"H -3 2/c\":\" !#%?#@$#! -?%-$@-$%&!@&? &%$+@!+ ?+OPQRSQTUQY]b[WbVZbVWXYZX[]XRU`TP`OS`]Y^W[^ZV^POcSRcUTcUR_PT_SO_WVaZYa][a\",\"R -3 2/c\":\" !## !!# 102021210$%&&$%%&$'././'/'.\",\"P 6\":\" !#%?#@$#$%#!@#? #\",\"P 61\":\" !#%?A@$B$%/!@d? e\",\"P 65\":\" !#%?B@$A$%/!@e? d\",\"P 62\":\" !#%?^@$Q$%#!@^? Q\",\"P 64\":\" !#%?Q@$^$%#!@Q? ^\",\"P 63\":\" !#%?#@$#$%+!@+? +\",\"P -6\":\" !#%?#@$# !&%?&@$&\",\"P 6/m\":\" !#%?#@$#$%#!@#? #$%&!@&? & !&%?&@$&\",\"P 63/m\":\" !#%?#@$#$%+!@+? +$%&!@&? & !-%?-@$-\",\"P 6 2 2\":\" !#%?#@$#$%#!@#? #! &?%&$@&%$&@!& ?&\",\"P 61 2 2\":\" !#%?Q@$^$%+!@`? a! X?%&$@_%$b@!- ?c\",\"P 65 2 2\":\" !#%?^@$Q$%+!@a? `! _?%&$@X%$c@!- ?b\",\"P 62 2 2\":\" !#%?^@$Q$%#!@^? Q! _?%&$@X%$_@!& ?X\",\"P 64 2 2\":\" !#%?Q@$^$%#!@Q? ^! X?%&$@_%$X@!& ?_\",\"P 63 2 2\":\" !#%?#@$#$%+!@+? +! &?%&$@&%$-@!- ?-\",\"P 6 m m\":\" !#%?#@$#$%#!@#? #%$#@!# ?#! #?%#$@#\",\"P 6 c c\":\" !#%?#@$#$%#!@#? #%$+@!+ ?+! +?%+$@+\",\"P 63 c m\":\" !#%?#@$#$%+!@+? +%$+@!+ ?+! #?%#$@#\",\"P 63 m c\":\" !#%?#@$#$%+!@+? +%$#@!# ?#! +?%+$@+\",\"P -6 m 2\":\" !#%?#@$# !&%?&@$&%$#@!# ?#%$&@!& ?&\",\"P -6 c 2\":\" !#%?#@$# !-%?-@$-%$+@!+ ?+%$&@!& ?&\",\"P -6 2 m\":\" !#%?#@$# !&%?&@$&! &?%&$@&! #?%#$@#\",\"P -6 2 c\":\" !#%?#@$# !-%?-@$-! &?%&$@&! +?%+$@+\",\"P 6/m 2/m 2/m\":\" !#%?#@$#$%#!@#? #! &?%&$@&%$&@!& ?&$%&!@&? & !&@$&%?&%$#@!# ?#! #?%#$@#\",\"P 6/m 2/c 2/c\":\" !#%?#@$#$%#!@#? #! -?%-$@-%$-@!- ?-$%&!@&? & !&@$&%?&%$+@!+ ?+! +?%+$@+\",\"P 63/m 2/c 2/m\":\" !#%?#@$#$%+!@+? +! -?%-$@-%$&@!& ?&$%&!@&? & !-@$-%?-%$+@!+ ?+! #?%#$@#\",\"P 63/m 2/m 2/c\":\" !#%?#@$#$%+!@+? +! &?%&$@&%$-@!- ?-$%&!@&? & !-@$-%?-%$#@!# ?#! +?%+$@+\",\"P 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& \",\"F 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- \",\"I 2 3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-(\",\"P 21 3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(\",\"I 21 3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- \",\"P 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$\",\"P 2/n -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& *,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*\",\"F 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$ )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-($,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(*%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- *,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$\",\"F 2/d -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& 64=37=345675=64=375345674=67=3453756 )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(68>3:>3896:9=<8=;:5;85<:4><7>;49;79<(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(<4>;7>;49<79>68>3:93896:8=<:=;85;:5<()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- <8=;:=;8f<:f><4>;79;49<78>6:>3893:96\",\"I 2/m -3\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& $%& !& %#$!#&$%& !# %#$!%&$!& %# !#$()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-(*,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*\",\"P 21/a -3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&($%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*\",\"I 21/a -3\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&($%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*()+$,#*g& %-+()#$,&*!- %)+(,#$!&*%- *,- )&(%#$!+-*,& )#(%+$!,-*)& %#(!+$\",\"P 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$\",\"P 42 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*\",\"F 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$ )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(-%*-!*+%(+ +,$+)$-, -)#)*#,(&)(&,*(!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() -,$-)$+, +(#,*#)*&,(&)+!*+%(-!(-%*()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(&,*&)*#,(#(+%*+!*-%(-!+)$+, -) -,$\",\"F 41 3 2\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=46 )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<(!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>86\",\"I 4 3 2\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*\",\"P 43 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(7;>46=:<5839398<5:6=4;>75:<983>7;=46\",\"P 41 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<\",\"I 41 3 2\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- 7;>46=:<5839398<5:6=4;>75:<983>7;=46\",\"P -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% \",\"F -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(+%*+!*-%(- +)$+,$-) -,#)(#,*&)*&,((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() +,$+)$-, -(#)*#,*&)(&,+!(+%*-!*-%(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(#,*#)*&,(&(+!*+%*-!(-%+) +,$-)$-, \",\"I -4 3 m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! #%$#!$&% & #!$#%$&! &%#! #%$&!$&% ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,(\",\"P -4 3 n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,(\",\"F -4 3 c\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(+,*+)*-,(-(+)*+,*-)(-,+)(+,*-)*-,( )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-() #,$#)$&, &(#!*#%*&!(&%+! +%$-!$-% (!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(!(#%*#!*&%(& +!$+%$-! -%#) #,$&)$&, ()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- ! +%$+!$-% - #)$#,$&) &,#!(#%*&!*&%(\",\"I -4 3 d\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(7354<9:6>8;=357<946>:;=857394<>:6=8;()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- :;98657<=43>;9:658<=73>49:;586=7<>43\",\"P 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! \",\"P 4/n -3 2/n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$*,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"P 42/m -3 2/n\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"P 42/n -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,**,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! \",\"F 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-(!(-%*-!*+%(+ +,$+)$-, -)#)*#,(&)(&,*$,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*%*+!(+%(-!*-$-) -, +)$+,&,(&)*#,*#)((!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&() -,$-)$+, +(#,*#)*&,(&)+!*+%(-!(-%**%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*,$+) +, -)$-*&)(&,(#)*#,-%(-!*+%*+!(()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- )(&,*&)*#,(#(+%*+!*-%(-!+)$+, -) -,$*,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$,*#)(#,(&)*&*-!(-%(+!*+%-, -)$+,$+) \",\"F 4/m -3 2/c\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& )(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,*$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)( )+$,+$)- ,-#()#*,&*)&(,!+(%+*!-*%-() &,$&)$#, #(#%*#!*&%(&!+!$+% -! -%$$,- )- ,+$)+&*,&()#(,#*)%-*!-(%+(!+*,$#) #, &)$&*&!(&%(#!*#%-% -!$+%$+! (!+*%+*!-(%-+ )+$,-$)- ,)#(,#*)&*,&(!(&%*&!*#%(# +%$+!$-% -!#)$#, &) &,$*%-(!-(%+*!+-$,- )+ ,+$),&*)&(,#()#*%*#!(#%(&!*&$-! -% +!$+%&, &)$#,$#) ()#*,#*)&(,&+(!+*%-*!-(%)+ ,+$)-$,- ! -%$-!$+% + #,$#)$&, &)#!*#%(&!(&%**,&()&(,#*)#-*%-(!+(%+*!,-$)- ,+ )+$%$+! +% -!$-$&) &, #)$#,&%(&!*#%*#!(\",\"F 41/d -3 2/m\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=4664=3:>;85<79=64>3:5;89<74=6:>385;79<,$+! #%(-)*&*&)(-% #!$+,-%(&)*+,$#! )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<68>37=;49<:5=<8>;753496:4><:=;893756,*#!(+% &)$-*-!(&, +)$#%-, &!$+%*#)((!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<<4>;:=389675>68=379;45<:8=<7>;453:96%$#) +,(&!*-$&! -,(#)*+%&% -)$#,*+!(()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>86<8=;7>3456:9><4=;:9385678>67=349;:5<%*+)(#, -!$&$-) &%(+!*#,&,(-!*#%$+) \",\"F 41/d -3 2/c\":\" !#$,+*)&(%-# !+$,&*)-(%!# ,+$)&*%-(:3>46=7<98;5;58<976=43>:97<58;>:3=46<8>;7=3496:5><8=;793456:8><7=;493:56%*#)(+, &!$-$-! &,(+)*#%&, -!$#%*+)( )+$%#*!-(,&#()+*%&$!- ,!+(,#*)-$%& :;=4<>765839;94<5:6>83=79:6543>7;=8<<4=;:>385679>64=3:9;85<78=67>345;:9<%$+) #,(-!*&$&) -%(#!*+,&%(-)*#,$+! (!+*,#$)- %&+ )#$%-*!&(,)#(%+*!&$,- 73=86>:<54;935469:<=8;>7576983=:;>4<68=37>;45<:9=<4>;:5389674>6:=389;75<,*+!(#% -)$&*-)(&% +!$#,-,(&!*+%$#) ()#*%+$!& ,-+(!#*,-$)& %)+ %#$!-*,&(7;>8<=:69435398657<>4;=:5:<94;=73>8664>3:=;89<75=68>375;49<:4=<:>;853796,$#! +%(&)*-*&!(-, #)$+%-% &)$+,*#!(\",\"I 4/m -3 2/m\":\" !#$%#$!& %&# !#$%&$!& %!# %#$!&$%& ! &%$&!$#% # #%$#!$&% &!#!$#% &! &%$$%& !& %#$!#&$%& !# %#$!%&$!& %# !#$%$#! #% &!$&$&! &% #!$#%&% &!$#%$#! ()+*,+*)-(,-+()+*,-*)-(,)+(,+*)-*,-()(-,*-)*+,(+(+,*+)*-,(-)+)*+,(-)(-,**,-()-(,+*)+-*,-()+(,+*),-*)-(,+()+*,*+)(+,(-)*-*-)(-,(+)*+,-,(-)*+,*+)(\",\"I 41/a -3 2/d\":\" !#*%+$)-(,&# !+*%-$)&(,!# %+*)-$,&(:3=8<>7694;5;54697<>83=:97654;=:3>8<$%&(!- ,+*)#&$%-(!+ ,#*)%&$!-(,+ )#*4<97358;=:6>6>:;=8357<94=8;>:694<573()+$,#*!& %-+()#$,&*!- %)+(,#$!&*%- 7;>46=:<5839398<5:6=4;>75:<983>7;=46*,- )&(%#$!+-*,& )#(%+$!,-*)& %#(!+$865:;943>7<=<=73>4;9:658>43=7<5869:;\",\"P 1 1 2\":\" !#$%#\",\"P 1 1 21\":\" !#$%+\",\"B 1 1 2\":\" !#$%#(g+*%+\",\"A 1 2 1\":\" !#$!& )+$)-\",\"C 1 21 1\":\" !#$)&()#*!&\",\"I 1 2 1\":\" !#$!&.'/0'2\",\"I 1 21 1\":\" !#$)&.'/0!-\",\"P 1 1 m\":\" !# !&\",\"P 1 1 b\":\" !# )&\",\"B 1 1 m\":\" !# !&(!+(!-\",\"B 1 1 b\":\" !# )&(!+()-\",\"P 1 1 2/m\":\" !# !&$%#$%&\",\"P 1 1 21/m\":\" !#$%+$%& !-\",\"B 1 1 2/m\":\" !# !&$%#$%&(!+(!-*%+*%-\",\"P 1 1 2/b\":\" !#$,#$%& )&\",\"P 1 1 21/b\":\" !#$%&$,+ )-\",\"B 1 1 2/b\":\" !#$,#$%& )&(!+*,+*%-()-\",\"P 21 2 2\":\" !#$!&(%&*%#\",\"P 2 21 2\":\" !# ,&$)&$%#\",\"P 21 21 2 (a)\":\" !#*,#.%&$'&\",\"P 21 2 21\":\" !#$!&(%-*%+\",\"P 2 21 21\":\" !# %&$)-$,+\",\"C 2 2 21a)\":\" !#*%+(,&$)-()#$,+ %&*!-\",\"C 2 2 2a\":\" !#*,#.%&$'&()#$%# ,&*!&\",\"F 2 2 2a\":\" !#*,#.%&$'& '/*%/.12$!2.!/$,/ %20'2.'#$%# 1&0!&\",\"I 2 2 2a\":\" !#*,#.%&$'&()+$%+*!- ,-\",\"P 21/m 21/m 2/n a\":\" !#*,#$)&(%&$%&.'& ,#*!#\",\"P 42 21 2a\":\" !#*,#%.+'$+$'&.%&! -,*-\",\"I 2 3a\":\" !#*,#.%&$'&!# ,- '&$%/$# !-*!/$%&.%()+$%+ ,-*!-)+(%&(!-*,#*+()&$)#*,- ,\"},iv=function(t){this.name=t||\"\",this.partList=[]},rv={type:{}};rv.type.get=function(){return\"Assembly\"},iv.prototype.addPart=function(t,e){var i=new nv(t,e);return this.partList.push(i),i},iv.prototype._getCount=function(t,e){var i=0;return this.partList.forEach(function(r){i+=r[e](t)}),i},iv.prototype.getAtomCount=function(t){return this._getCount(t,\"getAtomCount\")},iv.prototype.getResidueCount=function(t){return this._getCount(t,\"getResidueCount\")},iv.prototype.getInstanceCount=function(){var t=0;return this.partList.forEach(function(e){t+=e.matrixList.length}),t},iv.prototype.isIdentity=function(t){if(1!==this.partList.length)return!1;var e=this.partList[0];if(1!==e.matrixList.length)return!1;if(!(new v).equals(e.matrixList[0]))return!1;var i=[];return t.eachChain(function(t){i.push(t.chainname)}),i=Mn(i),e.chainList.length===i.length},iv.prototype.getBoundingBox=function(t){var e=new st;return this.partList.forEach(function(i){var r=i.getBoundingBox(t);e.expandByPoint(r.min),e.expandByPoint(r.max)}),e},iv.prototype.getCenter=function(t){return this.getBoundingBox(t).getCenter()},iv.prototype.getSelection=function(){var t=[];return this.partList.forEach(function(e){t=t.concat(e.chainList)}),is(t)},Object.defineProperties(iv.prototype,rv);var nv=function(t,e){this.matrixList=t||[],this.chainList=e||[]},ov={type:{}};ov.type.get=function(){return\"AssemblyPart\"},nv.prototype._getCount=function(t,e){var i=0,r=this.chainList;return t.eachChain(function(t){(0===r.length||r.includes(t.chainname))&&(i+=t[e])}),this.matrixList.length*i},nv.prototype.getAtomCount=function(t){return this._getCount(t,\"atomCount\")},nv.prototype.getResidueCount=function(t){return this._getCount(t,\"residueCount\")},nv.prototype.getBoundingBox=function(t){var e=new st,i=new st,r=this.getSelection(),n=t.getBoundingBox(r);return this.matrixList.forEach(function(t){i.copy(n).applyMatrix4(t),e.expandByPoint(i.min),e.expandByPoint(i.max)}),e},nv.prototype.getSelection=function(){return is(this.chainList)},nv.prototype.getView=function(t){var e=this.getSelection();return e?t.getView(e):t},nv.prototype.getInstanceList=function(){for(var t=this,e=[],i=0,r=this.matrixList.length;i=t.residueCount)){a.index=o+h,s.index=o+h+l,c.index=a.traceAtomIndex,u.index=s.traceAtomIndex;var p=c.distanceTo(u);if(Math.abs(p-i[l-2])>r)return!1}return!0},i=function(t,i){return e(t,i,[5.45,5.18,6.37],2.1)},r=function(t,i){return e(t,i,[6.1,10.4,13],1.42)},n=function(t){for(var e=t.residueStore,n=t.residueIndexStart,o=0,a=t.residueCount;o1&&r.bending[a]<20&&(e.sstruc[i+a]=\"h\".charCodeAt(0),e.sstruc[i+a+1]=\"h\".charCodeAt(0))}};return function(e){t.Debug&&cf.time(\"calculateSecondaryStructure\"),e.eachPolymer(function(t){if(!(t.residueCount<4)){if(t.isCg())o(t);else{if(!t.isProtein())return;n(t)}var e,i=0;t.eachResidue(function(t){t.sstruc===e?i+=1:(1===i&&(t.index-=1,t.sstruc=\"c\"),i=1,e=t.sstruc)})}}),t.Debug&&cf.timeEnd(\"calculateSecondaryStructure\")}}(),sv=[\"H\",\"C\",\"O\",\"N\",\"S\",\"P\"],cv=[\"NA\",\"CL\",\"FE\"],uv=function(t,e,i){this.structure=t,i=i||ls(e),this.atomname=e,this.element=i,this.vdw=_g[i],this.covalent=wg[i]},hv=function(t){this.structure=t,this.dict={},this.list=[]};hv.prototype.add=function(t,e){var i=ds(t=t.toUpperCase(),e=e?e.toUpperCase():ls(t)),r=this.dict[i];if(void 0===r){var n=new uv(this.structure,t,e);r=this.list.length,this.dict[i]=r,this.list.push(n)}return r},hv.prototype.get=function(t){return this.list[t]};var lv=function(t,e,i,r,n,o){this.structure=t,this.resname=e,this.atomTypeIdList=i,this.hetero=r?1:0,this.chemCompType=n,this.bonds=o,this.rings=void 0,this.atomCount=i.length,this.moleculeType=this.getMoleculeType(),this.backboneType=this.getBackboneType(0),this.backboneEndType=this.getBackboneType(-1),this.backboneStartType=this.getBackboneType(1),this.backboneIndexList=this.getBackboneIndexList();var a=Ng[this.backboneType],s=Ng[this.backboneStartType],c=Ng[this.backboneEndType],u=this.getAtomIndexByName(a.trace);this.traceAtomIndex=void 0!==u?u:-1;var h=this.getAtomIndexByName(a.direction1);this.direction1AtomIndex=void 0!==h?h:-1;var l=this.getAtomIndexByName(a.direction2);this.direction2AtomIndex=void 0!==l?l:-1;var p=this.getAtomIndexByName(s.backboneStart);this.backboneStartAtomIndex=void 0!==p?p:-1;var d=this.getAtomIndexByName(c.backboneEnd);this.backboneEndAtomIndex=void 0!==d?d:-1;var f;f=Cg.includes(e)?this.getAtomIndexByName(\"N1\"):this.getAtomIndexByName(\"N3\"),this.rungEndAtomIndex=void 0!==f?f:-1,this.bondReferenceAtomIndices=[]};lv.prototype.getBackboneIndexList=function(){var t,e=[];switch(this.moleculeType){case 3:t=Og;break;case 4:case 5:t=Dg;break;default:return e}for(var i=this.structure.atomMap,r=this.atomTypeIdList,n=0,o=this.atomCount;n=2?t(l,e[l],a):i[l]=2;else if(1===i[l]&&c&&c!=l){var p=[l];r[l]=1,n.push(p);for(var d=o.length-1;d>=0;--d){var f=o[d];if(f===l)break;p.push(f),r[f]=1}}}i[a]=2,o.pop()}for(var e=this.getBondGraph(),i=new Int8Array(this.atomCount),r=new Int8Array(this.atomCount),n=[],o=[],a=0;a1)for(var y=0;y1)for(var x=0;x0){var e=this.residueStore.atomOffset[this.residueIndex];return t.includes(this.index-e)}return!1},mv.prototype.isPolymer=function(){if(this.structure.entityList.length>0)return this.entity.isPolymer();var t=this.residueType.moleculeType;return 3===t||4===t||5===t},mv.prototype.isSidechain=function(){return this.isPolymer()&&!this.isBackbone()},mv.prototype.isCg=function(){var t=this.residueType.backboneType;return 4===t||5===t||6===t},mv.prototype.isHetero=function(){return 1===this.residueType.hetero},mv.prototype.isProtein=function(){return 3===this.residueType.moleculeType},mv.prototype.isNucleic=function(){var t=this.residueType.moleculeType;return 4===t||5===t},mv.prototype.isRna=function(){return 4===this.residueType.moleculeType},mv.prototype.isDna=function(){return 5===this.residueType.moleculeType},mv.prototype.isWater=function(){return 1===this.residueType.moleculeType},mv.prototype.isIon=function(){return 2===this.residueType.moleculeType},mv.prototype.isSaccharide=function(){return 6===this.residueType.moleculeType},mv.prototype.isHelix=function(){return yg.includes(this.sstruc)},mv.prototype.isSheet=function(){return bg.includes(this.sstruc)},mv.prototype.isTurn=function(){return xg.includes(this.sstruc)&&this.isProtein()},mv.prototype.isBonded=function(){return 0!==this.bondHash.countArray[this.index]},mv.prototype.isRing=function(){return 1===this.residueType.getRings().flags[this.index-this.residueAtomOffset]},mv.prototype.distanceTo=function(t){var e=this.atomStore,i=t.atomStore,r=this.index,n=t.index,o=e.x[r]-i.x[n],a=e.y[r]-i.y[n],s=e.z[r]-i.z[n],c=o*o+a*a+s*s;return Math.sqrt(c)},mv.prototype.connectedTo=function(t){var e=this.atomStore,i=t.atomStore,r=this.index,n=t.index;if(e.altloc&&i.altloc){var o=e.altloc[r],a=i.altloc[n];if(0!==o&&0!==a&&32!==o&&32!==a&&o!==a)return!1}var s=e.x[r]-i.x[n],c=e.y[r]-i.y[n],u=e.z[r]-i.z[n],h=s*s+c*c+u*u;if(h<64&&this.isCg())return!0;if(isNaN(h))return!1;var l=this.covalent+t.covalent,p=l+.3,d=l-.5;return hd*d},mv.prototype.positionFromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e+0],this.y=t[e+1],this.z=t[e+2],this},mv.prototype.positionToArray=function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.index,r=this.atomStore;return t[e+0]=r.x[i],t[e+1]=r.y[i],t[e+2]=r.z[i],t},mv.prototype.positionToVector3=function(t){return void 0===t&&(t=new g),t.x=this.x,t.y=this.y,t.z=this.z,t},mv.prototype.positionFromVector3=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},mv.prototype.getResidueBonds=function(t){var e,i,r,n,o=this.residueAtomOffset,a=this.index-this.residueAtomOffset,s=this.residueType.getBonds(),c=s.atomIndices1,u=s.atomIndices2;for(t||(n=[]),e=c.indexOf(a);-1!==e;){if(r=u[e]+o,t)return r;n.push(r),e=c.indexOf(a,e+1)}for(i=u.indexOf(a);-1!==i;){if(r=c[i]+o,t)return r;n.push(r),i=u.indexOf(a,i+1)}return n},mv.prototype.qualifiedName=function(t){var e=\"\";return this.resname&&!t&&(e+=\"[\"+this.resname+\"]\"),void 0!==this.resno&&(e+=this.resno),this.inscode&&(e+=\"^\"+this.inscode),this.chainname&&(e+=\":\"+this.chainname),this.atomname&&(e+=\".\"+this.atomname),this.altloc&&(e+=\"%\"+this.altloc),this.structure.modelStore.count>1&&(e+=\"/\"+this.modelIndex),e},mv.prototype.clone=function(){return new this.constructor(this.structure,this.index)},mv.prototype.toObject=function(){return{index:this.index,residueIndex:this.residueIndex,atomno:this.atomno,resname:this.resname,x:this.x,y:this.y,z:this.z,element:this.element,chainname:this.chainname,resno:this.resno,serial:this.serial,vdw:this.vdw,covalent:this.covalent,hetero:this.hetero,bfactor:this.bfactor,altloc:this.altloc,atomname:this.atomname,modelindex:this.modelindex}},Object.defineProperties(mv.prototype,gv);var vv=function(t,e){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueMap=t.residueMap,this.atomMap=t.atomMap,this.index=e},yv={entity:{},entityIndex:{},chain:{},chainIndex:{},atomOffset:{},atomCount:{},atomEnd:{},modelIndex:{},chainname:{},chainid:{},resno:{},sstruc:{},inscode:{},residueType:{},resname:{},hetero:{},moleculeType:{},backboneType:{},backboneStartType:{},backboneEndType:{},traceAtomIndex:{},direction1AtomIndex:{},direction2AtomIndex:{},backboneStartAtomIndex:{},backboneEndAtomIndex:{},rungEndAtomIndex:{}};yv.entity.get=function(){return this.structure.entityList[this.entityIndex]},yv.entityIndex.get=function(){return this.chainStore.entityIndex[this.chainIndex]},yv.chain.get=function(){return this.structure.getChainProxy(this.chainIndex)},yv.chainIndex.get=function(){return this.residueStore.chainIndex[this.index]},yv.chainIndex.set=function(t){this.residueStore.chainIndex[this.index]=t},yv.atomOffset.get=function(){return this.residueStore.atomOffset[this.index]},yv.atomOffset.set=function(t){this.residueStore.atomOffset[this.index]=t},yv.atomCount.get=function(){return this.residueStore.atomCount[this.index]},yv.atomCount.set=function(t){this.residueStore.atomCount[this.index]=t},yv.atomEnd.get=function(){return this.atomOffset+this.atomCount-1},yv.modelIndex.get=function(){return this.chainStore.modelIndex[this.chainIndex]},yv.chainname.get=function(){return this.chainStore.getChainname(this.chainIndex)},yv.chainid.get=function(){return this.chainStore.getChainid(this.chainIndex)},yv.resno.get=function(){return this.residueStore.resno[this.index]},yv.resno.set=function(t){this.residueStore.resno[this.index]=t},yv.sstruc.get=function(){return this.residueStore.getSstruc(this.index)},yv.sstruc.set=function(t){this.residueStore.setSstruc(this.index,t)},yv.inscode.get=function(){return this.residueStore.getInscode(this.index)},yv.inscode.set=function(t){this.residueStore.getInscode(this.index,t)},yv.residueType.get=function(){return this.residueMap.get(this.residueStore.residueTypeId[this.index])},yv.resname.get=function(){return this.residueType.resname},yv.hetero.get=function(){return this.residueType.hetero},yv.moleculeType.get=function(){return this.residueType.moleculeType},yv.backboneType.get=function(){return this.residueType.backboneType},yv.backboneStartType.get=function(){return this.residueType.backboneStartType},yv.backboneEndType.get=function(){return this.residueType.backboneEndType},yv.traceAtomIndex.get=function(){return this.residueType.traceAtomIndex+this.atomOffset},yv.direction1AtomIndex.get=function(){return this.residueType.direction1AtomIndex+this.atomOffset},yv.direction2AtomIndex.get=function(){return this.residueType.direction2AtomIndex+this.atomOffset},yv.backboneStartAtomIndex.get=function(){return this.residueType.backboneStartAtomIndex+this.atomOffset},yv.backboneEndAtomIndex.get=function(){return this.residueType.backboneEndAtomIndex+this.atomOffset},yv.rungEndAtomIndex.get=function(){return this.residueType.rungEndAtomIndex+this.atomOffset},vv.prototype.eachAtom=function(t,e){var i,r=this.atomCount,n=this.atomOffset,o=this.structure._ap,a=n+r;if(e&&e.atomOnlyTest){var s=e.atomOnlyTest;for(i=n;i0)return this.entity.isPolymer();var t=this.residueType.moleculeType;return 3===t||4===t||5===t},vv.prototype.isHetero=function(){return 1===this.residueType.hetero},vv.prototype.isWater=function(){return 1===this.residueType.moleculeType},vv.prototype.isIon=function(){return 2===this.residueType.moleculeType},vv.prototype.isSaccharide=function(){return 6===this.residueType.moleculeType},vv.prototype.isHelix=function(){return yg.includes(this.sstruc)},vv.prototype.isSheet=function(){return bg.includes(this.sstruc)},vv.prototype.isTurn=function(){return xg.includes(this.sstruc)&&this.isProtein()},vv.prototype.getAtomType=function(t){return this.atomMap.get(this.atomStore.atomTypeId[t])},vv.prototype.getResname1=function(){return Mg[this.resname.toUpperCase()]||\"X\"},vv.prototype.getBackboneType=function(t){switch(t){case-1:return this.residueType.backboneStartType;case 1:return this.residueType.backboneEndType;default:return this.residueType.backboneType}},vv.prototype.getAtomIndexByName=function(t){var e=this.residueType.getAtomIndexByName(t);return void 0!==e&&(e+=this.atomOffset),e},vv.prototype.getAtomByName=function(t){return this.residueType.getAtomByName(t)},vv.prototype.hasAtomWithName=function(t){return this.residueType.hasAtomWithName(t)},vv.prototype.getAtomnameList=function(){var t=this;console.warn(\"getAtomnameList - might be expensive\");for(var e=this.atomCount,i=this.atomOffset,r=new Array(e),n=0;n=t){var i=this.structure.getResidueProxy(e);if(i.connectedTo(this))return i}else if(e===t-1){var r=this.chainStore.residueCount[this.chainIndex],n=this.structure.getResidueProxy(t+r-1);if(n.connectedTo(this))return n}},vv.prototype.getBonds=function(){return this.residueType.getBonds(this)},vv.prototype.getRings=function(){return this.residueType.getRings()},vv.prototype.qualifiedName=function(t){var e=\"\";return this.resname&&!t&&(e+=\"[\"+this.resname+\"]\"),void 0!==this.resno&&(e+=this.resno),this.inscode&&(e+=\"^\"+this.inscode),this.chain&&(e+=\":\"+this.chainname),e+=\"/\"+this.modelIndex},vv.prototype.clone=function(){return new this.constructor(this.structure,this.index)},vv.prototype.toObject=function(){return{index:this.index,chainIndex:this.chainIndex,atomOffset:this.atomOffset,atomCount:this.atomCount,resno:this.resno,resname:this.resname,sstruc:this.sstruc}},Object.defineProperties(vv.prototype,yv);var bv=function(t,e,i){this.structure=t,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.atomStore=t.atomStore,this.residueIndexStart=e,this.residueIndexEnd=i,this.residueCount=i-e+1;var r=this.structure.getResidueProxy(this.residueIndexStart),n=this.structure.getResidueProxy(this.residueIndexEnd);this.isPrevConnected=void 0!==r.getPreviousConnectedResidue();var o=n.getNextConnectedResidue();this.isNextConnected=void 0!==o,this.isNextNextConnected=this.isNextConnected&&void 0!==o.getNextConnectedResidue(),this.isCyclic=n.connectedTo(r),this.__residueProxy=this.structure.getResidueProxy()},xv={chainIndex:{},modelIndex:{},chainname:{}};xv.chainIndex.get=function(){return this.residueStore.chainIndex[this.residueIndexStart]},xv.modelIndex.get=function(){return this.chainStore.modelIndex[this.chainIndex]},xv.chainname.get=function(){return this.chainStore.getChainname(this.chainIndex)},bv.prototype.isProtein=function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isProtein()},bv.prototype.isCg=function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isCg()},bv.prototype.isNucleic=function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.isNucleic()},bv.prototype.getMoleculeType=function(){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.moleculeType},bv.prototype.getBackboneType=function(t){return this.__residueProxy.index=this.residueIndexStart,this.__residueProxy.getBackboneType(t)},bv.prototype.getAtomIndexByType=function(t,e){this.isCyclic?-1===t?t=this.residueCount-1:t===this.residueCount&&(t=0):(-1!==t||this.isPrevConnected||(t+=1),t!==this.residueCount||this.isNextNextConnected||(t-=1));var i=this.__residueProxy;i.index=this.residueIndexStart+t;var r;switch(e){case\"trace\":r=i.traceAtomIndex;break;case\"direction1\":r=i.direction1AtomIndex;break;case\"direction2\":r=i.direction2AtomIndex;break;default:var n=i.getAtomByName(e);r=n?n.index:void 0}return r},bv.prototype.eachAtom=function(t,e){this.eachResidue(function(i){i.eachAtom(t,e)},e)},bv.prototype.eachAtomN=function(t,e,i){var r,n=this,o=this.residueCount,a=new Array(t);for(r=0;r=n&&i=t&&e.apply(this,s)}})}},bv.prototype.eachResidue=function(t){for(var e=this.structure.getResidueProxy(),i=this.residueCount,r=this.residueIndexStart,n=0;n1&&t(new bv(o,i,u.index)),i=r)):(m!==lg&&u.index-i>1&&t(new bv(o,i,u.index)),i=r)}r-i>1&&this.structure.getResidueProxy(i).backboneStartType&&t(new bv(o,i,r))},_v.prototype.qualifiedName=function(){return\":\"+this.chainname+\"/\"+this.modelIndex},_v.prototype.clone=function(){return new this.constructor(this.structure,this.index)},_v.prototype.toObject=function(){return{index:this.index,residueOffset:this.residueOffset,residueCount:this.residueCount,chainname:this.chainname}},Object.defineProperties(_v.prototype,wv);var Sv=function(t,e){this.structure=t,this.modelStore=t.modelStore,this.chainStore=t.chainStore,this.residueStore=t.residueStore,this.index=e},Av={chainOffset:{},chainCount:{},residueOffset:{},atomOffset:{},chainEnd:{},residueEnd:{},atomEnd:{},residueCount:{},atomCount:{}};Av.chainOffset.get=function(){return this.modelStore.chainOffset[this.index]},Av.chainOffset.set=function(t){this.modelStore.chainOffset[this.index]=t},Av.chainCount.get=function(){return this.modelStore.chainCount[this.index]},Av.chainCount.set=function(t){this.modelStore.chainCount[this.index]=t},Av.residueOffset.get=function(){return this.chainStore.residueOffset[this.chainOffset]},Av.atomOffset.get=function(){return this.residueStore.atomOffset[this.residueOffset]},Av.chainEnd.get=function(){return this.chainOffset+this.chainCount-1},Av.residueEnd.get=function(){return this.chainStore.residueOffset[this.chainEnd]+this.chainStore.residueCount[this.chainEnd]-1},Av.atomEnd.get=function(){return this.residueStore.atomOffset[this.residueEnd]+this.residueStore.atomCount[this.residueEnd]-1},Av.residueCount.get=function(){return 0===this.chainCount?0:this.residueEnd-this.residueOffset+1},Av.atomCount.get=function(){return 0===this.residueCount?0:this.atomEnd-this.atomOffset+1},Sv.prototype.eachAtom=function(t,e){this.eachChain(function(i){i.eachAtom(t,e)},e)},Sv.prototype.eachResidue=function(t,e){this.eachChain(function(i){i.eachResidue(t,e)},e)},Sv.prototype.eachPolymer=function(t,e){if(e&&e.chainOnlyTest){var i=e.chainOnlyTest;this.eachChain(function(r){i(r)&&r.eachPolymer(t,e)})}else this.eachChain(function(i){i.eachPolymer(t,e)})},Sv.prototype.eachChain=function(t,e){var i,r=this.chainCount,n=this.chainOffset,o=this.structure._cp,a=n+r;if(e&&e.test){var s=e.chainOnlyTest;if(s)for(i=n;i1?(C=i.atomRadius(w),I=C*v/(.5*E),x.calculateShiftDir(N),m?(L=2*y*C,N.multiplyScalar(L),N.negate(),D.subVectors(S,w).multiplyScalar(Math.max(.1,L/1.88)),w.positionToArray(n,P),S.positionToArray(o,P),E>=2&&(O.addVectors(w,N).add(D).toArray(n,P+3),O.addVectors(S,N).sub(D).toArray(o,P+3),E>=3&&(O.subVectors(w,N).add(D).toArray(n,P+6),O.subVectors(S,N).sub(D).toArray(o,P+6)))):(L=(y-v)*C,N.multiplyScalar(L),2===E?(O.addVectors(w,N).toArray(n,P),O.subVectors(w,N).toArray(n,P+3),O.addVectors(S,N).toArray(o,P),O.subVectors(S,N).toArray(o,P+3)):3===E?(w.positionToArray(n,P),O.addVectors(w,N).toArray(n,P+3),O.subVectors(w,N).toArray(n,P+6),S.positionToArray(o,P),O.addVectors(S,N).toArray(o,P+3),O.subVectors(S,N).toArray(o,P+6)):(w.positionToArray(n,P),S.positionToArray(o,P)))):(w.positionToArray(n,P),S.positionToArray(o,P))),a&&(r.bondColorToArray(x,1,a,P),r.bondColorToArray(x,0,s,P),f&&E>1))for(M=1;M1))for(M=1;M1))for(I=u[R]*v/(m?1:.5*E),M=m?1:0;M1))for(I=h[R]*v/(m?1:.5*E),M=m?1:0;Ma&&(a=e),i>s&&(s=i),u>c&&(c=u)},e),i.min.set(r,n,o),i.max.set(a,s,c),t.Debug&&cf.timeEnd(\"getBoundingBox\"),i},Mv.prototype.getPrincipalAxes=function(e){t.Debug&&cf.time(\"getPrincipalAxes\");var i=0,r=new va(3,this.atomCount),n=r.data;return this.eachAtom(function(t){n[i+0]=t.x,n[i+1]=t.y,n[i+2]=t.z,i+=3},e),t.Debug&&cf.timeEnd(\"getPrincipalAxes\"),new Ug(r)},Mv.prototype.atomCenter=function(t){return t?this.getBoundingBox(t).getCenter():this.center.clone()},Mv.prototype.getSequence=function(t){var e=[],i=this.getResidueProxy();return this.eachAtom(function(t){i.index=t.residueIndex,t.index===i.traceAtomIndex&&e.push(i.getResname1())},t),e},Mv.prototype.getAtomIndices=function(t){var e;if(t&&t.string)e=[],this.eachAtom(function(t){e.push(t.index)},t);else{var i={what:{index:!0}};e=this.getAtomData(i).index}return e},Mv.prototype.getChainnameCount=function(t){var e=new Set;return this.eachChain(function(t){t.residueCount&&e.add(t.chainname)},t),e.size},Mv.prototype.updatePosition=function(t){var e=0;this.eachAtom(function(i){i.positionFromArray(t,e),e+=3})},Mv.prototype.refreshPosition=function(){this.getBoundingBox(void 0,this.boundingBox),this.boundingBox.getCenter(this.center),this.spatialHash=new Fa(this.atomStore,this.boundingBox)},Mv.prototype.dispose=function(){this.frames&&(this.frames.length=0),this.boxes&&(this.boxes.length=0),this.bondStore.dispose(),this.backboneBondStore.dispose(),this.rungBondStore.dispose(),this.atomStore.dispose(),this.residueStore.dispose(),this.chainStore.dispose(),this.modelStore.dispose(),delete this.bondStore,delete this.atomStore,delete this.residueStore,delete this.chainStore,delete this.modelStore,delete this.frames,delete this.boxes,delete this.cif,delete this.bondSet,delete this.atomSet},Object.defineProperties(Mv.prototype,Pv);var Tv=function(t,e){var i;\"function\"==typeof t.eachAtom?i=t.atomCount:t instanceof Float32Array&&(i=t.length/3);var r=new va(3,i),n=new va(3,i);this.coords1t=new va(i,3),this.coords2t=new va(i,3),this.A=new va(3,3),this.W=new va(1,3),this.U=new va(3,3),this.V=new va(3,3),this.VH=new va(3,3),this.R=new va(3,3),this.tmp=new va(3,3),this.c=new va(3,3),this.c.data.set([1,0,0,0,1,0,0,0,-1]),this.prepCoords(t,r),this.prepCoords(e,n),this._superpose(r,n)};Tv.prototype._superpose=function(e,i){this.mean1=Sa(e),this.mean2=Sa(i),Aa(e,this.mean1),Aa(i,this.mean2),ya(this.coords1t,e),ya(this.coords2t,i),ba(this.A,this.coords2t,this.coords1t),Ca(this.A,this.W,this.U,this.V),xa(this.V,this.VH),wa(this.R,this.U,this.VH),_a(this.R)<0&&(t.Debug&&cf.log(\"R not a right handed system\"),wa(this.tmp,this.c,this.VH),wa(this.R,this.U,this.tmp))},Tv.prototype.prepCoords=function(t,e){var i=0,r=e.data;\"function\"==typeof t.eachAtom?t.eachAtom(function(t){r[i+0]=t.x,r[i+1]=t.y,r[i+2]=t.z,i+=3}):t instanceof Float32Array?r.set(t):cf.warn(\"prepCoords: input type unknown\")},Tv.prototype.transform=function(t){var e;\"function\"==typeof t.eachAtom?e=t.atomCount:t instanceof Float32Array&&(e=t.length/3);var i=new va(3,e),r=new va(e,3);this.prepCoords(t,i),Aa(i,this.mean1),ba(r,this.R,i),ya(i,r),Ma(i,this.mean2);var n=0,o=i.data;\"function\"==typeof t.eachAtom?t.eachAtom(function(t){t.x=o[n+0],t.y=o[n+1],t.z=o[n+2],n+=3}):t instanceof Float32Array?t.set(o.subarray(0,3*e)):cf.warn(\"transform: input type unknown\")};var Ev=function(t,e){this.signals={startedRunning:new io,haltedRunning:new io};var i=Object.assign({},e);t.signals.playerChanged.add(function(t){t!==this&&this.pause()},this);var r=dn(t.numframes,1);this.traj=t,this.start=dn(i.start,0),this.end=Math.min(dn(i.end,r-1),r-1),this.step=dn(i.step,Math.ceil((r+1)/100)),this.timeout=dn(i.timeout,50),this.interpolateType=dn(i.interpolateType,\"\"),this.interpolateStep=dn(i.interpolateStep,5),this.mode=dn(i.mode,\"loop\"),this.direction=dn(i.direction,\"forward\"),this._stopFlag=!1,this._running=!1,t.signals.gotNumframes.add(function(t){this.end=Math.min(dn(i.end,t-1),t-1)},this)};Ev.prototype._animate=function(){var t;if(this._running=!0,this.traj.inProgress||this._stopFlag||(((t=\"forward\"===this.direction?this.traj.currentFrame+this.step:this.traj.currentFrame-this.step)>=this.end||t=this.end?e=this.start:\"backward\"===this.direction&&t<=this.start&&(e=this.end),this.traj.setFrame(e),this._stopFlag=!1,this._animate(),this.signals.startedRunning.dispatch()}},Ev.prototype.pause=function(){this._running&&(this._stopFlag=!0,this.signals.haltedRunning.dispatch())},Ev.prototype.stop=function(){this.traj.setFrame(this.start),this.pause()};var Cv=function(t,e,i){this.signals={gotNumframes:new io,frameChanged:new io,selectionChanged:new io,playerChanged:new io};var r=i||{};r.centerPbc=dn(r.centerPbc,!0),r.removePbc=dn(r.removePbc,!0),r.superpose=dn(r.superpose,!0),this.setParameters(r),this.name=t.replace(/^.*[\\\\\\/]/,\"\"),this.selection=new Kd(dn(r.sele,\"backbone and not hydrogen\")),this.selection.signals.stringChanged.add(function(){this.makeIndices(),this.resetCache()},this),this.setStructure(e),this.setPlayer(new Ev(this)),this.trajPath=t,this.numframes=void 0,this.getNumframes()};Cv.prototype.setStructure=function(t){this.structure=t,this.atomCount=t.atomCount,this.makeAtomIndices(),this.saveInitialStructure(),this.backboneIndices=this.getIndices(new Kd(\"backbone and not hydrogen\")),this.makeIndices(),this.frameCache=[],this.boxCache=[],this.pathCache=[],this.frameCacheSize=0,this.currentFrame=-1},Cv.prototype.saveInitialStructure=function(){var t=0,e=new Float32Array(3*this.atomCount);this.structure.eachAtom(function(i){e[t+0]=i.x,e[t+1]=i.y,e[t+2]=i.z,t+=3}),this.initialStructure=e},Cv.prototype.setSelection=function(t){return this.selection.setString(t),this},Cv.prototype.getIndices=function(t){var e;if(t&&t.test){var i=0,r=t.test;e=[],this.structure.eachAtom(function(t){r(t)&&e.push(i),i+=1})}else e=this.structure.getAtomIndices(this.selection);return e},Cv.prototype.makeIndices=function(){var t=this;this.indices=this.getIndices(this.selection);var e,i,r=3*this.indices.length;this.coords1=new Float32Array(r),this.coords2=new Float32Array(r);var n=this.initialStructure,o=this.coords2;for(e=0;e0&&this.centerPbc){var n=[e[0],e[4],e[8]];gs(i,this.getCircularMean(this.backboneIndices,i,n),n)}this.removePbc&&vs(i,e)}this.indices.length>0&&this.superpose&&this.doSuperpose(i),this.frameCache[t]=i,this.boxCache[t]=e,this.frameCacheSize+=1},Cv.prototype.setNumframes=function(t){t!==this.numframes&&(this.numframes=t,this.signals.gotNumframes.dispatch(t))},Cv.prototype.dispose=function(){this.frameCache=[],this._disposed=!0,this.player&&this.player.stop()},Cv.prototype.setPlayer=function(t){this.player=t,this.signals.playerChanged.dispatch(t)},Cv.prototype.getPath=function(t,e){cf.error(\"Trajectory.getPath not implemented\",t,e)},mf.add(\"shader/Mesh.vert\",\"#define STANDARD\\nuniform float nearClip;\\nuniform vec3 clipCenter;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\n#include unpack_color\\nattribute float primitiveId;\\nvarying vec3 vPickingColor;\\n#elif defined( NOLIGHT )\\nvarying vec3 vColor;\\n#else\\n#include color_pars_vertex\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#endif\\n#include common\\nvoid main(){\\n#if defined( PICKING )\\nvPickingColor = unpackColor( primitiveId );\\n#elif defined( NOLIGHT )\\nvColor = color;\\n#else\\n#include color_vertex\\n#include beginnormal_vertex\\n#include defaultnormal_vertex\\n#ifndef FLAT_SHADED\\nvNormal = normalize( transformedNormal );\\n#endif\\n#endif\\n#include begin_vertex\\n#include project_vertex\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),mf.add(\"shader/Mesh.frag\",\"#define STANDARD\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || ( !defined( PICKING ) && !defined( NOLIGHT ) )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\n#elif defined( NOLIGHT )\\nvarying vec3 vColor;\\n#else\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\n#include bsdfs\\n#include lights_pars\\n#include lights_physical_pars_fragment\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( PICKING )\\nif( opacity < 0.7 )\\ndiscard;\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#elif defined( NOLIGHT )\\ngl_FragColor = vec4( vColor, opacity );\\n#else\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\n#include normal_flip\\n#include normal_fragment\\n#include dull_interior_fragment\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#include opaque_back_fragment\\n#endif\\n}\");var Iv={f:1,v2:2,v3:3,c:3},Lv=function(t,e){var i=t||{},r=e||{};this.opaqueBack=dn(r.opaqueBack,!1),this.dullInterior=dn(r.dullInterior,!1),this.side=dn(r.side,\"double\"),this.opacity=dn(r.opacity,1),this.depthWrite=dn(r.depthWrite,!0),this.clipNear=dn(r.clipNear,0),this.clipRadius=dn(r.clipRadius,0),this.clipCenter=dn(r.clipCenter,new g),this.flatShaded=dn(r.flatShaded,!1),this.background=dn(r.background,!1),this.linewidth=dn(r.linewidth,1),this.wireframe=dn(r.wireframe,!1),this.wireframeLinewidth=dn(r.wireframeLinewidth,1),this.roughness=dn(r.roughness,.4),this.metalness=dn(r.metalness,0),this.diffuse=dn(r.diffuse,16777215),this.forceTransparent=dn(r.forceTransparent,!1),this.geometry=new Ct,this.indexVersion=0,this.wireframeIndexVersion=-1,this.uniforms=Ll.merge([Il.common,{fogColor:{value:null},fogNear:{value:0},fogFar:{value:0},opacity:{value:this.opacity},nearClip:{value:0},clipRadius:{value:this.clipRadius},clipCenter:{value:this.clipCenter}},{emissive:{value:new tt(0)},roughness:{value:this.roughness},metalness:{value:this.metalness}},Il.ambient,Il.lights]),this.uniforms.diffuse.value.set(this.diffuse),this.pickingUniforms={nearClip:{value:0},objectId:{value:0},opacity:{value:this.opacity}},this.group=new Re,this.wireframeGroup=new Re,this.pickingGroup=new Re,this.matrix=dn(r.matrix,new v);var n=i.position||i.position1;this._positionDataSize=n?n.length/3:0,this.addAttributes({position:{type:\"v3\",value:i.position},color:{type:\"c\",value:i.color},primitiveId:{type:\"f\",value:i.primitiveId}}),i.index&&this.initIndex(i.index),this.picking=i.picking,this.makeWireframeGeometry()},Rv={parameters:{},matrix:{},transparent:{},size:{},attributeSize:{},pickable:{},dynamic:{},vertexShader:{},fragmentShader:{}};Rv.parameters.get=function(){return{opaqueBack:{updateShader:!0},dullInterior:{updateShader:!0},side:{updateShader:!0,property:!0},opacity:{uniform:!0},depthWrite:{property:!0},clipNear:{updateShader:!0,property:!0},clipRadius:{updateShader:!0,property:!0,uniform:!0},clipCenter:{uniform:!0},flatShaded:{updateShader:!0},background:{updateShader:!0},linewidth:{property:!0},wireframe:{updateVisibility:!0},roughness:{uniform:!0},metalness:{uniform:!0},diffuse:{uniform:!0},matrix:{}}},Rv.matrix.set=function(t){this.setMatrix(t)},Rv.matrix.get=function(){return this.group.matrix.clone()},Rv.transparent.get=function(){return this.opacity<1||this.forceTransparent},Rv.size.get=function(){return this._positionDataSize},Rv.attributeSize.get=function(){return this.size},Rv.pickable.get=function(){return!!this.picking},Rv.dynamic.get=function(){return!0},Rv.vertexShader.get=function(){},Rv.fragmentShader.get=function(){},Lv.prototype.setMatrix=function(t){bs(this.group,t),bs(this.wireframeGroup,t),bs(this.pickingGroup,t)},Lv.prototype.initIndex=function(t){this.geometry.setIndex(new _t(t,1)),this.geometry.getIndex().setDynamic(this.dynamic)},Lv.prototype.makeMaterial=function(){var t=ys(this.side),e=new ot({uniforms:this.uniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:this.transparent,depthWrite:this.depthWrite,lights:!0,fog:!0,side:t,linewidth:this.linewidth});e.vertexColors=Lu,e.extensions.derivatives=this.flatShaded,e.extensions.fragDepth=this.isImpostor,e.clipNear=this.clipNear;var i=new ot({uniforms:this.uniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:this.transparent,depthWrite:this.depthWrite,lights:!1,fog:!0,side:t,linewidth:this.linewidth});i.vertexColors=Lu,i.clipNear=this.clipNear;var r=new ot({uniforms:this.pickingUniforms,vertexShader:\"\",fragmentShader:\"\",depthTest:!0,transparent:!1,depthWrite:this.depthWrite,lights:!1,fog:!1,side:t,linewidth:this.linewidth,blending:Ru});r.vertexColors=Lu,r.extensions.fragDepth=this.isImpostor,r.clipNear=this.clipNear,this.material=e,this.wireframeMaterial=i,this.pickingMaterial=r,this.updateShader()},Lv.prototype.makeWireframeGeometry=function(){this.makeWireframeIndex();var t=this.geometry,e=this.wireframeIndex,i=new Ct;i.attributes=t.attributes,e&&(i.setIndex(new _t(e,1).setDynamic(this.dynamic)),i.setDrawRange(0,this.wireframeIndexCount)),this.wireframeGeometry=i},Lv.prototype.makeWireframeIndex=function(){function t(t,i){if(t>i){var r=t;t=i,i=r}var n=e[t];return void 0===n?(e[t]=[i],!0):!n.includes(i)&&(n.push(i),!0)}var e=[],i=this.geometry,r=i.index;if(this.wireframe)if(r){var n=r.array,o=n.length;i.drawRange.count!==1/0&&(o=i.drawRange.count);var a;a=this.wireframeIndex&&this.wireframeIndex.length>2*o?this.wireframeIndex:Cn(2*o,i.attributes.position.count);var s=0;e.length=0;for(var c=0;c2*d?this.wireframeIndex:Cn(2*d,d);for(var f=0,m=0;fthis.wireframeGeometry.index.array.length)this.wireframeGeometry.setIndex(new _t(this.wireframeIndex,1).setDynamic(this.dynamic));else{var t=this.wireframeGeometry.getIndex();t.set(this.wireframeIndex),t.needsUpdate=this.wireframeIndexCount>0,t.updateRange.count=this.wireframeIndexCount}this.wireframeGeometry.setDrawRange(0,this.wireframeIndexCount)},Lv.prototype.getRenderOrder=function(){var t=0;return this.isText?t=1:this.transparent&&(t=this.isSurface?3:2),t},Lv.prototype._getMesh=function(t){this.material||this.makeMaterial();var e,i=this.geometry,r=this[t];return this.isLine?e=new Ee(i,r):this.isPoint?(e=new Le(i,r),this.sortParticles&&(e.sortParticles=!0)):e=new It(i,r),e.frustumCulled=!1,e.renderOrder=this.getRenderOrder(),e},Lv.prototype.getMesh=function(){return this._getMesh(\"material\")},Lv.prototype.getWireframeMesh=function(){var t;return this.material||this.makeMaterial(),this.wireframeGeometry||this.makeWireframeGeometry(),t=new Ee(this.wireframeGeometry,this.wireframeMaterial),t.frustumCulled=!1,t.renderOrder=this.getRenderOrder(),t},Lv.prototype.getPickingMesh=function(){return this._getMesh(\"pickingMaterial\")},Lv.prototype.getShader=function(t,e){return wo(t,this.getDefines(e))},Lv.prototype.getVertexShader=function(t){return this.getShader(this.vertexShader,t)},Lv.prototype.getFragmentShader=function(t){return this.getShader(this.fragmentShader,t)},Lv.prototype.getDefines=function(t){var e={};return this.clipNear&&(e.NEAR_CLIP=1),this.clipRadius&&(e.RADIUS_CLIP=1),\"picking\"===t?e.PICKING=1:((\"background\"===t||this.background)&&(e.NOLIGHT=1),this.flatShaded&&(e.FLAT_SHADED=1),this.opaqueBack&&(e.OPAQUE_BACK=1),this.dullInterior&&(e.DULL_INTERIOR=1)),e},Lv.prototype.getParameters=function(){var t=this,e={};for(var i in t.parameters)e[i]=t[i];return e},Lv.prototype.addUniforms=function(t){this.uniforms=Ll.merge([this.uniforms,t]),this.pickingUniforms=Ll.merge([this.pickingUniforms,t])},Lv.prototype.addAttributes=function(t){var e=this;for(var i in t){var r=void 0,n=t[i],o=e.attributeSize*Iv[n.type];n.value?(o!==n.value.length&&cf.error(\"attribute value has wrong length\",i),r=n.value):r=En(\"float32\",o),e.geometry.addAttribute(i,new _t(r,Iv[n.type]).setDynamic(e.dynamic))}},Lv.prototype.updateRenderOrder=function(){function t(t){t.renderOrder=e}var e=this.getRenderOrder();this.group.children.forEach(t),this.pickingGroup&&this.pickingGroup.children.forEach(t)},Lv.prototype.updateShader=function(){var t=this.material,e=this.wireframeMaterial,i=this.pickingMaterial;t.vertexShader=this.getVertexShader(),t.fragmentShader=this.getFragmentShader(),t.needsUpdate=!0,e.vertexShader=this.getShader(\"Line.vert\"),e.fragmentShader=this.getShader(\"Line.frag\"),e.needsUpdate=!0,i.vertexShader=this.getVertexShader(\"picking\"),i.fragmentShader=this.getFragmentShader(\"picking\"),i.needsUpdate=!0},Lv.prototype.setParameters=function(t){var e=this;if(t){var i=t,r=this.parameters,n={},o={},a=!1,s=!1;for(var c in i){var u=i[c];void 0!==u&&(void 0!==r[c]&&(e[c]=u,r[c].property&&(!0!==r[c].property?n[r[c].property]=u:n[c]=u),r[c].uniform&&(!0!==r[c].uniform?o[r[c].uniform]=u:o[c]=u),r[c].updateShader&&(a=!0),r[c].updateVisibility&&(s=!0),e.dynamic&&\"wireframe\"===c&&!0===u&&e.updateWireframeIndex(),\"flatShaded\"===c&&(e.material.extensions.derivatives=e.flatShaded),\"forceTransparent\"===c&&(n.transparent=e.transparent)))}this.setProperties(n),this.setUniforms(o),a&&this.updateShader(),s&&this.setVisibility(this.visible)}},Lv.prototype.setAttributes=function(t){var e=this,i=this.geometry,r=i.attributes;for(var n in t)if(\"picking\"!==n){var o=t[n],a=o.length;if(\"index\"===n){var s=i.getIndex();i.setDrawRange(0,1/0),a>s.array.length?i.setIndex(new _t(o,1).setDynamic(e.dynamic)):(s.set(o),s.needsUpdate=a>0,s.updateRange.count=a,i.setDrawRange(0,a)),e.indexVersion++,e.wireframe&&e.updateWireframeIndex()}else{var c=r[n];a>c.array.length?i.addAttribute(n,new _t(o,c.itemSize).setDynamic(e.dynamic)):(r[n].set(o),r[n].needsUpdate=a>0,r[n].updateRange.count=a)}}},Lv.prototype.setUniforms=function(t){var e=this;if(t){var i=this.material.uniforms,r=this.wireframeMaterial.uniforms,n=this.pickingMaterial.uniforms;for(var o in t)\"opacity\"===o&&e.setProperties({transparent:e.transparent}),void 0!==i[o]&&(i[o].value.isVector3?i[o].value.copy(t[o]):i[o].value.set?i[o].value.set(t[o]):i[o].value=t[o]),void 0!==r[o]&&(r[o].value.isVector3?r[o].value.copy(t[o]):r[o].value.set?r[o].value.set(t[o]):r[o].value=t[o]),void 0!==n[o]&&(n[o].value.isVector3?n[o].value.copy(t[o]):n[o].value.set?n[o].value.set(t[o]):n[o].value=t[o])}},Lv.prototype.setProperties=function(t){var e=this;if(t){var i=this.material,r=this.wireframeMaterial,n=this.pickingMaterial;for(var o in t){var a=t[o];\"transparent\"===o?e.updateRenderOrder():\"side\"===o&&(a=ys(a)),void 0!==i[o]&&(i[o]=a),void 0!==r[o]&&(r[o]=a),void 0!==n[o]&&(n[o]=a)}i.needsUpdate=!0,r.needsUpdate=!0,n.needsUpdate=!0}},Lv.prototype.setVisibility=function(t){this.visible=t,this.wireframe?(this.group.visible=!1,this.wireframeGroup.visible=t,this.pickable&&(this.pickingGroup.visible=!1)):(this.group.visible=t,this.wireframeGroup.visible=!1,this.pickable&&(this.pickingGroup.visible=t))},Lv.prototype.dispose=function(){this.material&&this.material.dispose(),this.wireframeMaterial&&this.wireframeMaterial.dispose(),this.pickingMaterial&&this.pickingMaterial.dispose(),this.geometry.dispose(),this.wireframeGeometry&&this.wireframeGeometry.dispose()},Object.defineProperties(Lv.prototype,Rv);var Ov=function(t){function e(e,i){var r=e||{};!r.primitiveId&&r.position&&(r.primitiveId=Co(r.position.length/3)),t.call(this,r,i),this.addAttributes({normal:{type:\"v3\",value:r.normal}}),void 0===r.normal&&this.geometry.computeVertexNormals()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={vertexShader:{},fragmentShader:{}};return i.vertexShader.get=function(){return\"Mesh.vert\"},i.fragmentShader.get=function(){return\"Mesh.frag\"},Object.defineProperties(e.prototype,i),e}(Lv),Dv=new v,Nv=new ut,kv=function(t){function e(e,i,r){var n,o=e||{},a=i||{},s=r.attributes.position.array,c=r.attributes.normal.array,u=r.index?r.index.array:void 0,h=o.position.length/3,l=s.length/3,p=h*l,d=new Float32Array(3*p),f=new Float32Array(3*p),m=new Float32Array(3*p);u&&(n=Cn(h*u.length,p)),t.call(this,{position:d,color:m,index:n,normal:f,primitiveId:o.primitiveId||Io(h,l),picking:o.picking},a),this.setAttributes(o),this.geoPosition=s,this.geoNormal=c,this.geoIndex=u,this.positionCount=h,this.geoPositionCount=l,this.transformedGeoPosition=new Float32Array(3*l),this.transformedGeoNormal=new Float32Array(3*l),this.meshPosition=d,this.meshColor=m,this.meshIndex=n,this.meshNormal=f,this.meshIndex=n,this.makeIndex()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={updateNormals:{}};return e.prototype.applyPositionTransform=function(){},e.prototype.setAttributes=function(t,e){var i,r,n,o,a,s,c,u,h,l=this,p=this.geometry.attributes,d=this.updateNormals;t.position&&(i=t.position,n=this.geoPosition,c=this.meshPosition,a=this.transformedGeoPosition,p.position.needsUpdate=!0,(d||e)&&(o=this.geoNormal,h=this.meshNormal,s=this.transformedGeoNormal,p.normal.needsUpdate=!0)),t.color&&(r=t.color,u=this.meshColor,p.color.needsUpdate=!0);for(var f=this.positionCount,m=this.geoPositionCount,g=0;g 0.0 ){\\ncameraPos = rayDirection * posT + rayOrigin;\\ninterior = true;\\nflag2 = true;\\nreturn false;\\n}else{\\ncameraNormal = normalize( cameraPos - cameraSpherePos );\\n}\\n#else\\nif( calcDepth( cameraPos ) <= 0.0 ){\\ncameraPos = rayDirection * posT + rayOrigin;\\ninterior = true;\\nreturn false;\\n}else{\\ncameraNormal = normalize( cameraPos - cameraSpherePos );\\n}\\n#endif\\nreturn true;\\n}\\nreturn false;\\n}\\nvoid main(void){\\nbool flag = Impostor( cameraPos, cameraNormal );\\n#ifdef NEAR_CLIP\\nif( calcClip( cameraPos ) > 0.0 )\\ndiscard;\\n#endif\\ngl_FragDepthEXT = calcDepth( cameraPos );\\nif( !flag ){\\n#ifdef NEAR_CLIP\\nif( flag2 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / vRadius ) );\\n}else if( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n#else\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n#endif\\n}\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\n#ifdef PICKING\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\nvec3 vNormal = cameraNormal;\\nvec3 vViewPosition = -cameraPos;\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\n#include normal_flip\\n#include normal_fragment\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\");var zv=function(t){function e(e,i){t.call(this,e,i),this.index=Cn(this.indexSize,this.attributeSize),this.makeIndex(),this.initIndex(this.index,1),this.addAttributes({mapping:{type:this.mappingType,value:null}}),this.setAttributes({primitiveId:Co(this.size)})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={attributeSize:{},indexSize:{},mapping:{},mappingIndices:{},mappingIndicesSize:{},mappingType:{},mappingSize:{},mappingItemSize:{}};return i.attributeSize.get=function(){return this.size*this.mappingSize},i.indexSize.get=function(){return this.size*this.mappingIndicesSize},i.mapping.get=function(){},i.mappingIndices.get=function(){},i.mappingIndicesSize.get=function(){},i.mappingType.get=function(){},i.mappingSize.get=function(){},i.mappingItemSize.get=function(){},e.prototype.addAttributes=function(e){var i={};for(var r in e){var n=e[r];i[r]={type:n.type,value:null}}t.prototype.addAttributes.call(this,i)},e.prototype.getAttributeIndex=function(t){return 3*t*this.mappingSize},e.prototype.setAttributes=function(t){t&&!t.position&&t.position1&&t.position2&&(t.position=Mo(t.position1,t.position2));var e,i,r,n,o,a,s,c=this.size,u=this.mappingSize,h=this.geometry.attributes;for(var l in t)if(\"index\"!==l&&\"picking\"!==l){i=t[l],r=(e=h[l]).itemSize,n=e.array;for(var p=0;p radius2)\\ndiscard;\\n#ifdef CAP\\nnew_point = front_point;\\n_normal = axis;\\n#else\\nnew_point = ray_target + ( (-a1 - sqrt(d)) / a2 ) * ray_direction;\\ndNV = dot(-axis, ray_direction);\\nnear = dot(axis, end_cyl) / dNV;\\nnew_point2 = ray_direction * near + ray_origin;\\nif (dot(new_point2 - end_cyl, new_point2-base) < radius2)\\ndiscard;\\ninterior = true;\\n#endif\\n}\\nif( end_cap_test > 0.0 )\\n{\\nfloat dNV = dot(axis, ray_direction);\\nif (dNV < 0.0)\\ndiscard;\\nfloat near = dot(axis, end_cyl) / dNV;\\nvec3 end_point = ray_direction * near + ray_origin;\\nif( dot(end_point - end_cyl, end_point-base) > radius2 )\\ndiscard;\\n#ifdef CAP\\nnew_point = end_point;\\n_normal = axis;\\n#else\\nnew_point = ray_target + ( (-a1 - sqrt(d)) / a2 ) * ray_direction;\\ndNV = dot(-axis, ray_direction);\\nnear = dot(-axis, (base)) / dNV;\\nnew_point2 = ray_direction * near + ray_origin;\\nif (dot(new_point2 - base, new_point2-base) < radius2)\\ndiscard;\\ninterior = true;\\n#endif\\n}\\ngl_FragDepthEXT = calcDepth( new_point );\\n#ifdef NEAR_CLIP\\nif( calcClip( new_point ) > 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\nif( calcClip( new_point ) > 0.0 )\\ndiscard;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / vRadius ) );\\n}\\n}else if( gl_FragDepthEXT <= 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n}\\n#else\\nif( gl_FragDepthEXT <= 0.0 ){\\ndist = (-a1 - sqrt(d)) / a2;\\nnew_point = ray_target + dist * ray_direction;\\ninterior = true;\\ngl_FragDepthEXT = calcDepth( new_point );\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / vRadius );\\n}\\n}\\n#endif\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\n#ifdef PICKING\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\nvec3 vViewPosition = -new_point;\\nvec3 vNormal = _normal;\\nvec3 vColor;\\nif( distSq3( new_point, end_cyl ) < distSq3( new_point, base ) ){\\nif( b < 0.0 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\n}else{\\nif( b > 0.0 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\n}\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\nvec3 normal = normalize( vNormal );\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\");var iy=new Float32Array([-1,1,-1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1,-1,1]),ry=new Uint16Array([0,1,2,1,4,2,2,4,3,4,5,3]),ny=function(t){function e(e,i){t.call(this,e,i);var r=i||{};this.openEnded=dn(r.openEnded,!1),this.addUniforms({modelViewMatrixInverse:{value:new v},ortho:{value:0}}),this.addAttributes({position1:{type:\"v3\",value:null},position2:{type:\"v3\",value:null},color2:{type:\"c\",value:null},radius:{type:\"f\",value:null}}),this.setAttributes(e),this.makeMapping()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={parameters:{},isImpostor:{},vertexShader:{},fragmentShader:{}};return i.parameters.get=function(){return Object.assign.call(this,{openEnded:{updateShader:!0}},t.prototype.parameters)},e.prototype.getDefines=function(e){var i=t.prototype.getDefines.call(this,e);return this.openEnded||(i.CAP=1),i},i.isImpostor.get=function(){return!0},i.vertexShader.get=function(){return\"CylinderImpostor.vert\"},i.fragmentShader.get=function(){return\"CylinderImpostor.frag\"},Object.defineProperties(e.prototype,i),e}(function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={mapping:{},mappingIndices:{},mappingIndicesSize:{},mappingType:{},mappingSize:{},mappingItemSize:{}};return i.mapping.get=function(){return iy},i.mappingIndices.get=function(){return ry},i.mappingIndicesSize.get=function(){return 12},i.mappingType.get=function(){return\"v3\"},i.mappingSize.get=function(){return 6},i.mappingItemSize.get=function(){return 3},Object.defineProperties(e.prototype,i),e}(zv)),oy=function(t,e){return!sf||e&&e.disableImpostor?new ey(t,e):new ny(t,e)},ay=new g,sy=new g,cy=new g,uy=new g(0,1,0),hy=function(t){function e(e,i){var r=i||{},n=dn(r.radialSegments,60),o=dn(r.openEnded,!1),a=(new v).makeRotationX(-Math.PI/2),s=new gi(1,1,n,1,o);s.applyMatrix(a);var c=e.position1.length,u=e.radius.length,h=new Float32Array(c);t.call(this,{position:h,color:e.color,picking:e.picking},r,s),this._position=h,this._from=new Float32Array(c),this._to=new Float32Array(c),this._radius=new Float32Array(u),this.setAttributes(e,!0)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={updateNormals:{}};return e.prototype.applyPositionTransform=function(t,e,i){sy.fromArray(this._from,i),cy.fromArray(this._to,i),t.lookAt(sy,cy,uy);var r=this._radius[e];ay.set(r,r,sy.distanceTo(cy)),t.scale(ay)},e.prototype.setAttributes=function(e,i){var r={};e.position1&&e.position2&&(Mo(e.position1,e.position2,this._position),this._from.set(e.position1),this._to.set(e.position2),r.position=this._position),e.color&&(r.color=e.color),e.radius&&this._radius.set(e.radius),t.prototype.setAttributes.call(this,r,i)},i.updateNormals.get=function(){return!0},Object.defineProperties(e.prototype,i),e}(kv),ly=function(t,e){return new hy(t,e)},py=function(t){this.geometryList=t,this.boundingBox=null};py.prototype.computeBoundingBox=function(){var t=this;this.boundingBox?this.boundingBox.empty():this.boundingBox=new st,this.geometryList.forEach(function(e){e.boundingBox||e.computeBoundingBox(),t.boundingBox.union(e.boundingBox)})};var dy=function(t,e){var i=t||{},r=e||{};this.aspectRatio=dn(r.aspectRatio,1.5),this.wireframe=dn(r.wireframe,!1),this.splitPosition=new Float32Array(i.position1.length),this.cylinderRadius=new Float32Array(i.radius.length);var n=this.makeAttributes(i),o={radialSegments:dn(r.radialSegments,50),openEnded:dn(r.openEnded,!1),disableImpostor:dn(r.disableImpostor,!1)};this.cylinderBuffer=new oy(n.cylinder,o),this.coneBuffer=new ly(n.cone,o),this.geometry=new py([this.cylinderBuffer.geometry,this.coneBuffer.geometry]),this.group=new Re,this.wireframeGroup=new Re,this.pickingGroup=new Re,this.matrix=dn(r.matrix,new v),this.picking=i.picking},fy={matrix:{},pickable:{}};fy.matrix.set=function(t){Lv.prototype.setMatrix.call(this,t)},fy.matrix.get=function(){return this.group.matrix.clone()},fy.pickable.get=function(){return!!this.picking},dy.prototype.makeAttributes=function(t){var e,i,r=this.splitPosition,n=this.cylinderRadius,o=this.aspectRatio,a={},s={};if(t.radius){for(e=0,i=n.length;e 1.0 ){\\ngl_FragColor = vec4( backgroundColor, backgroundOpacity );\\n}else{\\nfloat sdf = texture2D( fontTexture, texCoord ).a;\\nif( showBorder ) sdf += borderWidth;\\nfloat w = clamp(\\nsmoothness * ( abs( dFdx( texCoord.x ) ) + abs( dFdy( texCoord.y ) ) ),\\n0.0,\\n0.5\\n);\\nfloat a = smoothstep( 0.5 - w, 0.5 + w, sdf );\\na = pow( a, 1.0 / gamma );\\nif( a < 0.2 ) discard;\\na *= opacity;\\nvec3 outgoingLight = vColor;\\nif( showBorder && sdf < ( 0.5 + borderWidth ) ){\\noutgoingLight = borderColor;\\n}\\ngl_FragColor = vec4( outgoingLight, a );\\n}\\n#if defined( PICKING )\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\");var my={},gy=function(t){var e=Object.assign({},t);if(this.font=dn(e.font,[\"sans-serif\"]),this.size=dn(e.size,36),this.style=dn(e.style,\"normal\"),this.variant=dn(e.variant,\"normal\"),this.weight=dn(e.weight,\"normal\"),this.outline=dn(e.outline,0),this.width=dn(e.width,2048),this.height=dn(e.height,2048),this.gamma=1,\"undefined\"!=typeof navigator){var i=navigator.userAgent;i.match(/Chrome/)&&i.match(/OS X/)&&(this.gamma=.5)}this.mapped={},this.scratchW=0,this.scratchH=0,this.currentX=0,this.currentY=0,this.build(),this.populate(),this.texture=new De(this.canvas2),this.texture.flipY=!1,this.texture.needsUpdate=!0};gy.prototype.build=function(){var t=this.size+2*this.outline+Math.round(this.size/4),e=this.width/4,i=document.createElement(\"canvas\");i.width=e,i.height=t;var r=i.getContext(\"2d\");r.font=this.style+\" \"+this.variant+\" \"+this.weight+\" \"+this.size+\"px \"+this.font,r.fillStyle=\"#FF0000\",r.textAlign=\"left\",r.textBaseline=\"bottom\",r.lineJoin=\"round\";for(var n=[],o=3*this.outline,a=0;athis.width&&(this.currentX=0,this.currentY+=this.scratchH),this.currentY+this.scratchH>this.height&&console.warn(\"canvas to small\"),this.mapped[t]={x:this.currentX,y:this.currentY,w:this.scratchW,h:this.scratchH},this.context2.drawImage(this.canvas,0,0,this.scratchW,this.scratchH,this.currentX,this.currentY,this.scratchW,this.scratchH),this.currentX+=this.scratchW),this.mapped[t]},gy.prototype.get=function(t){return this.mapped[t]||this.placeholder},gy.prototype.draw=function(t){var e=this.lineHeight,i=this.outline,r=this.context,n=this.scratch,o=this.maxWidth,a=this.colors,s=i,c=e-this.outline,u=r.measureText(t),h=Math.min(o,Math.ceil(u.width+2*s+1));r.clearRect(0,0,h,e);var l,p,d,f,m;if(0===this.outline)for(r.fillText(t,s,c),d=3,l=0,p=(m=(f=r.getImageData(0,0,h,e)).data).length/4;l0;--l)d=l>1?2*l-2:l,r.strokeStyle=a[d-1],r.lineWidth=d,r.strokeText(t,s,c);r.globalCompositeOperation=\"multiply\",r.fillStyle=\"#FF00FF\",r.fillText(t,s,c),m=(f=r.getImageData(0,0,h,e)).data,d=0;var g=this.gamma;for(l=0,p=m.length/4;l0?(this.tasks.change(1-this.queue.length()),this.queue.kill()):this.tasks.increment(),void this.queue.push(t||!1)):(this.tasks.increment(),void this.make())},wy.prototype.make=function(e,i){t.Debug&&cf.time(\"Representation.make \"+this.type);var r=function(){e?(this.update(e),this.viewer.requestRender(),this.tasks.decrement(),i&&i()):(this.clear(),this.create(),this.manualAttach||this.disposed||(t.Debug&&cf.time(\"Representation.attach \"+this.type),this.attach(function(){t.Debug&&cf.timeEnd(\"Representation.attach \"+this.type),this.tasks.decrement(),i&&i()}.bind(this)))),t.Debug&&cf.timeEnd(\"Representation.make \"+this.type)}.bind(this);this.prepare?this.prepare(r):r()},wy.prototype.attach=function(t){this.setVisibility(this.visible),t()},wy.prototype.setVisibility=function(t,e){if(this.visible=t,this.visible){var i=this.lazyProps,r=i.bufferParams,n=i.what;if(i.build)return i.build=!1,void this.build();(Object.keys(r).length||Object.keys(n).length)&&(i.bufferParams={},i.what={},this.updateParameters(r,n))}return this.bufferList.forEach(function(e){e.setVisibility(t)}),e||this.viewer.requestRender(),this},wy.prototype.setParameters=function(t,e,i){var r=this,n=t||{},o=this.parameters;e=e||{},i=i||!1;var a={};for(var s in n)void 0!==n[s]&&void 0!==o[s]&&(o[s].int&&(n[s]=parseInt(n[s])),o[s].float&&(n[s]=parseFloat(n[s])),(n[s]!==r[s]||n[s].equals&&!n[s].equals(r[s]))&&(r[s].set?r[s].set(n[s]):r[s]=n[s],o[s].buffer&&(!0===o[s].buffer?a[s]=n[s]:a[o[s].buffer]=n[s]),o[s].update&&(e[o[s].update]=!0),!o[s].rebuild||\"impostor\"===o[s].rebuild&&sf&&!r.disableImpostor||(i=!0)));return i?this.build():this.updateParameters(a,e),this},wy.prototype.updateParameters=function(t,e){if(this.lazy&&!this.visible)return Object.assign(this.lazyProps.bufferParams,t),void Object.assign(this.lazyProps.what,e);this.bufferList.forEach(function(e){e.setParameters(t)}),Object.keys(e).length&&this.update(e),this.viewer.requestRender()},wy.prototype.getParameters=function(){var t=this,e={lazy:this.lazy,visible:this.visible,quality:this.quality};return Object.keys(this.parameters).forEach(function(i){null!==t.parameters[i]&&(e[i]=t[i])}),e},wy.prototype.clear=function(){var t=this;this.bufferList.forEach(function(e){t.viewer.remove(e),e.dispose()}),this.bufferList.length=0,this.viewer.requestRender()},wy.prototype.dispose=function(){this.disposed=!0,this.queue.kill(),this.tasks.dispose(),this.clear()};var Sy=function(t){function e(e,i,r){Array.isArray(e)||(e=[e]),t.call(this,e,i,r),this.type=\"buffer\",this.parameters=Object.assign({},this.parameters,{colorScheme:null,colorScale:null,colorValue:null,colorDomain:null,colorMode:null}),this.buffer=e,this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){t.prototype.init.call(this,e),this.build()},e.prototype.create=function(){this.bufferList.push.apply(this.bufferList,this.buffer)},e.prototype.attach=function(t){var e=this;this.bufferList.forEach(function(t){e.viewer.add(t),t.setParameters(e.getBufferParams())}),this.setVisibility(this.visible),t()},e}(wy),Ay=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={isSurface:{}};return i.isSurface.get=function(){return!0},Object.defineProperties(e.prototype,i),e}(Ov),My=function(t){this.size=t.size,this.side=t.side,this.wireframe=t.wireframe,this.visible=t.visible,this.geometry=t.geometry,this.picking=t.picking,this.background=t.background,this.group=new Re,this.wireframeGroup=new Re,this.pickingGroup=new Re,this.matrix=t.matrix,this.frontMeshes=[],this.backMeshes=[];var e=t,i=new t.constructor;e.makeMaterial(),i.makeMaterial(),i.picking=t.picking,i.geometry=t.geometry,i.wireframeGeometry=t.wireframeGeometry,i.setParameters(t.getParameters()),i.updateShader(),e.setParameters({side:\"front\"}),i.setParameters({side:\"back\",opacity:i.opacity}),this.buffer=t,this.frontBuffer=e,this.backBuffer=i},Py={matrix:{},pickable:{}};Py.matrix.set=function(t){Lv.prototype.setMatrix.call(this,t)},Py.matrix.get=function(){return this.group.matrix.clone()},Py.pickable.get=function(){return!!this.picking},My.prototype.getMesh=function(t){var e,i;return t?(i=this.backBuffer.getPickingMesh(),e=this.frontBuffer.getPickingMesh()):(i=this.backBuffer.getMesh(),e=this.frontBuffer.getMesh()),this.frontMeshes.push(e),this.backMeshes.push(i),this.setParameters({side:this.side}),(new Re).add(i,e)},My.prototype.getWireframeMesh=function(){return this.buffer.getWireframeMesh()},My.prototype.getPickingMesh=function(){return this.getMesh(!0)},My.prototype.setAttributes=function(t){this.buffer.setAttributes(t)},My.prototype.setParameters=function(t){\"front\"===(t=Object.assign({},t)).side?(this.frontMeshes.forEach(ws),this.backMeshes.forEach(Ss)):\"back\"===t.side?(this.frontMeshes.forEach(Ss),this.backMeshes.forEach(ws)):\"double\"===t.side&&(this.frontMeshes.forEach(ws),this.backMeshes.forEach(ws)),void 0!==t.matrix&&(this.matrix=t.matrix),delete t.matrix,void 0!==t.side&&(this.side=t.side),delete t.side,this.frontBuffer.setParameters(t),void 0!==t.wireframe&&(this.wireframe=t.wireframe,this.setVisibility(this.visible)),delete t.wireframe,this.backBuffer.setParameters(t)},My.prototype.dispose=function(){this.frontBuffer.dispose(),this.backBuffer.dispose()},Object.defineProperties(My.prototype,Py),My.prototype.setVisibility=Lv.prototype.setVisibility,mf.add(\"shader/Line.vert\",\"uniform float nearClip;\\nuniform vec3 clipCenter;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include color_pars_vertex\\nvoid main(){\\n#include color_vertex\\n#include begin_vertex\\n#include project_vertex\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\"),mf.add(\"shader/Line.frag\",\"uniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\ngl_FragColor = vec4( vColor, opacity );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n}\");var Ty=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={isLine:{},vertexShader:{},fragmentShader:{}};return i.isLine.get=function(){return!0},i.vertexShader.get=function(){return\"Line.vert\"},i.fragmentShader.get=function(){return\"Line.frag\"},Object.defineProperties(e.prototype,i),e}(Lv),Ey=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"surface\",this.parameters=Object.assign({isolevelType:{type:\"select\",options:{value:\"value\",sigma:\"sigma\"}},isolevel:{type:\"number\",precision:2,max:1e3,min:-1e3},negateIsolevel:{type:\"boolean\"},smooth:{type:\"integer\",precision:1,max:10,min:0},background:{type:\"boolean\",rebuild:!0},opaqueBack:{type:\"boolean\",buffer:!0},boxSize:{type:\"integer\",precision:1,max:100,min:0},colorVolume:{type:\"hidden\"},contour:{type:\"boolean\",rebuild:!0},useWorker:{type:\"boolean\",rebuild:!0},wrap:{type:\"boolean\",rebuild:!0}},this.parameters),e instanceof Vg?(this.surface=void 0,this.volume=e):(this.surface=e,this.volume=void 0),this.boxCenter=new g,this.__boxCenter=new g,this.box=new st,this.__box=new st,this._position=new g,this.setBox=function(){this._position.copy(i.translationGroup.position).negate(),this._position.equals(this.boxCenter)||this.setParameters({boxCenter:this._position})},this.viewer.signals.ticked.add(this.setBox,this),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};i.colorScheme=dn(i.colorScheme,\"uniform\"),i.colorValue=dn(i.colorValue,14540253),this.isolevelType=dn(i.isolevelType,\"sigma\"),this.isolevel=dn(i.isolevel,2),this.negateIsolevel=dn(i.negateIsolevel,!1),this.smooth=dn(i.smooth,0),this.background=dn(i.background,!1),this.opaqueBack=dn(i.opaqueBack,!0),this.boxSize=dn(i.boxSize,0),this.colorVolume=dn(i.colorVolume,void 0),this.contour=dn(i.contour,!1),this.useWorker=dn(i.useWorker,!0),this.wrap=dn(i.wrap,!1),t.prototype.init.call(this,i),this.build()},e.prototype.attach=function(t){var e=this;this.bufferList.forEach(function(t){e.viewer.add(t)}),this.setVisibility(this.visible),t()},e.prototype.prepare=function(t){var e=this;if(this.volume){var i;if(i=\"sigma\"===this.isolevelType?this.volume.getValueForSigma(this.isolevel):this.isolevel,this.negateIsolevel&&(i*=-1),!this.surface||this.__isolevel!==i||this.__smooth!==this.smooth||this.__contour!==this.contour||this.__wrap!==this.wrap||this.__boxSize!==this.boxSize||this.boxSize>0&&!this.__boxCenter.equals(this.boxCenter)){this.__isolevel=i,this.__smooth=this.smooth,this.__contour=this.contour,this.__wrap=this.wrap,this.__boxSize=this.boxSize,this.__boxCenter.copy(this.boxCenter),this.__box.copy(this.box);var r=function(i){e.surface=i,t()};this.useWorker?this.volume.getSurfaceWorker(i,this.smooth,this.boxCenter,this.boxSize,this.contour,this.wrap,r):r(this.volume.getSurface(i,this.smooth,this.boxCenter,this.boxSize,this.contour,this.wrap))}else t()}else t()},e.prototype.create=function(){var t,e={position:this.surface.getPosition(),color:this.surface.getColor(this.getColorParams()),index:this.surface.getIndex()};if(this.contour)t=new Ty(e,this.getBufferParams({wireframe:!1}));else{e.normal=this.surface.getNormal(),e.picking=this.surface.getPicking();var i=new Ay(e,this.getBufferParams({background:this.background,opaqueBack:this.opaqueBack,dullInterior:!1}));t=new My(i)}this.bufferList.push(t)},e.prototype.update=function(t){if(0!==this.bufferList.length){var e={};(t=t||{}).position&&(e.position=this.surface.getPosition()),t.color&&(e.color=this.surface.getColor(this.getColorParams())),t.index&&(e.index=this.surface.getIndex()),t.normal&&(e.normal=this.surface.getNormal()),this.bufferList.forEach(function(t){t.setAttributes(e)})}},e.prototype.setParameters=function(e,i,r){return e&&void 0!==e.isolevelType&&this.volume&&(\"value\"===this.isolevelType&&\"sigma\"===e.isolevelType?this.isolevel=this.volume.getSigmaForValue(this.isolevel):\"sigma\"===this.isolevelType&&\"value\"===e.isolevelType&&(this.isolevel=this.volume.getValueForSigma(this.isolevel)),this.isolevelType=e.isolevelType),e&&e.boxCenter&&(this.boxCenter.copy(e.boxCenter),delete e.boxCenter),e&&e.wireframe&&(e.contour||void 0===e.contour&&this.contour)&&(e.wireframe=!1),t.prototype.setParameters.call(this,e,i,r),this.volume&&this.volume.getBox(this.boxCenter,this.boxSize,this.box),e&&void 0!==e.colorVolume&&(i.color=!0),this.surface&&(void 0!==e.isolevel||void 0!==e.negateIsolevel||void 0!==e.smooth||void 0!==e.wrap||void 0!==e.boxSize||this.boxSize>0&&!this.__box.equals(this.box))&&this.build({position:!0,color:!0,index:!0,normal:!this.contour}),this},e.prototype.getColorParams=function(){var e=t.prototype.getColorParams.call(this);return e.volume=this.colorVolume,e},e.prototype.dispose=function(){this.viewer.signals.ticked.remove(this.setBox,this),t.prototype.dispose.call(this)},e}(wy);mf.add(\"shader/Point.vert\",\"uniform float nearClip;\\nuniform float clipRadius;\\nuniform vec3 clipCenter;\\nuniform float size;\\nuniform float canvasHeight;\\nuniform float pixelRatio;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\n#include unpack_color\\nattribute float primitiveId;\\nvarying vec3 vPickingColor;\\n#else\\n#include color_pars_vertex\\n#endif\\n#include common\\nvoid main(){\\n#if defined( PICKING )\\nvPickingColor = unpackColor( primitiveId );\\n#else\\n#include color_vertex\\n#endif\\n#include begin_vertex\\n#include project_vertex\\n#ifdef USE_SIZEATTENUATION\\ngl_PointSize = size * pixelRatio * ( ( canvasHeight / 2.0 ) / -mvPosition.z );\\n#else\\ngl_PointSize = size * pixelRatio;\\n#endif\\nvViewPosition = -mvPosition.xyz;\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n#include radiusclip_vertex\\n}\"),mf.add(\"shader/Point.frag\",\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec3 vViewPosition;\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#ifdef USE_MAP\\nuniform sampler2D map;\\n#endif\\n#if defined( PICKING )\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\n#else\\n#include common\\n#include color_pars_fragment\\n#include fog_pars_fragment\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( PICKING )\\n#ifdef USE_MAP\\nif( texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) ).a < 0.5 )\\ndiscard;\\n#endif\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\nvec3 outgoingLight = vec3( 0.0 );\\nvec4 diffuseColor = vec4( diffuse, 1.0 );\\n#ifdef USE_MAP\\ndiffuseColor *= texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\\n#endif\\n#include color_fragment\\n#include alphatest_fragment\\noutgoingLight = diffuseColor.rgb;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a * opacity );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\");var Cy=function(t){function e(e,i){var r=e||{},n=i||{};r.primitiveId||(r.primitiveId=Co(r.position.length/3)),t.call(this,r,n),this.pointSize=dn(n.pointSize,1),this.sizeAttenuation=dn(n.sizeAttenuation,!0),this.sortParticles=dn(n.sortParticles,!1),this.alphaTest=dn(n.alphaTest,.5),this.useTexture=dn(n.useTexture,!1),this.forceTransparent=dn(n.forceTransparent,!1),this.edgeBleach=dn(n.edgeBleach,0),this.addUniforms({size:{value:this.pointSize},canvasHeight:{value:1},pixelRatio:{value:1},map:{value:null}})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={parameters:{},isPoint:{},vertexShader:{},fragmentShader:{}};return i.parameters.get=function(){return Object.assign.call(this,{pointSize:{uniform:\"size\"},sizeAttenuation:{updateShader:!0},sortParticles:{},alphaTest:{updateShader:!0},useTexture:{updateShader:!0},forceTransparent:{},edgeBleach:{uniform:!0}},t.prototype.parameters)},e.prototype.makeMaterial=function(){t.prototype.makeMaterial.call(this),this.makeTexture();var e=this.material,i=this.wireframeMaterial,r=this.pickingMaterial;e.uniforms.map.value=this.tex,e.needsUpdate=!0,i.uniforms.map.value=this.tex,i.needsUpdate=!0,r.uniforms.map.value=this.tex,r.needsUpdate=!0},e.prototype.makeTexture=function(){this.tex&&this.tex.dispose(),this.tex=Ms({delta:this.edgeBleach})},e.prototype.getDefines=function(e){var i=t.prototype.getDefines.call(this,e);return this.sizeAttenuation&&(i.USE_SIZEATTENUATION=1),this.useTexture&&(i.USE_MAP=1),this.alphaTest>0&&this.alphaTest<=1&&(i.ALPHATEST=this.alphaTest.toPrecision(2)),i},e.prototype.setUniforms=function(e){e&&void 0!==e.edgeBleach&&(this.makeTexture(),e.map=this.tex),t.prototype.setUniforms.call(this,e)},e.prototype.dispose=function(){t.prototype.dispose.call(this),this.tex&&this.tex.dispose()},i.isPoint.get=function(){return!0},i.vertexShader.get=function(){return\"Point.vert\"},i.fragmentShader.get=function(){return\"Point.frag\"},Object.defineProperties(e.prototype,i),e}(Lv),Iy=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"dot\",this.parameters=Object.assign({thresholdType:{type:\"select\",rebuild:!0,options:{value:\"value\",sigma:\"sigma\"}},thresholdMin:{type:\"number\",precision:3,max:1/0,min:-1/0,rebuild:!0},thresholdMax:{type:\"number\",precision:3,max:1/0,min:-1/0,rebuild:!0},thresholdOut:{type:\"boolean\",rebuild:!0},dotType:{type:\"select\",rebuild:!0,options:{\"\":\"\",sphere:\"sphere\",point:\"point\"}},radiusType:{type:\"select\",options:{\"\":\"\",value:\"value\",\"abs-value\":\"abs-value\",\"value-min\":\"value-min\",deviation:\"deviation\",size:\"size\"}},radius:{type:\"number\",precision:3,max:10,min:.001,property:\"size\"},scale:{type:\"number\",precision:3,max:10,min:.001},sphereDetail:!0,disableImpostor:!0,pointSize:{type:\"number\",precision:1,max:100,min:0,buffer:!0},sizeAttenuation:{type:\"boolean\",buffer:!0},sortParticles:{type:\"boolean\",rebuild:!0},useTexture:{type:\"boolean\",buffer:!0},alphaTest:{type:\"range\",step:.001,max:1,min:0,buffer:!0},forceTransparent:{type:\"boolean\",buffer:!0},edgeBleach:{type:\"range\",step:.001,max:1,min:0,buffer:!0}},this.parameters,{colorScheme:{type:\"select\",update:\"color\",options:{\"\":\"\",value:\"value\",uniform:\"uniform\",random:\"random\"}}}),e instanceof Vg?(this.surface=void 0,this.volume=new Hg(e)):(this.surface=e,this.volume=void 0),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};i.colorScheme=dn(i.colorScheme,\"uniform\"),i.colorValue=dn(i.colorValue,14540253),this.thresholdType=dn(i.thresholdType,\"sigma\"),this.thresholdMin=dn(i.thresholdMin,2),this.thresholdMax=dn(i.thresholdMax,1/0),this.thresholdOut=dn(i.thresholdOut,!1),this.dotType=dn(i.dotType,\"point\"),this.radius=dn(i.radius,.1),this.scale=dn(i.scale,1),this.pointSize=dn(i.pointSize,1),this.sizeAttenuation=dn(i.sizeAttenuation,!0),this.sortParticles=dn(i.sortParticles,!1),this.useTexture=dn(i.useTexture,!1),this.alphaTest=dn(i.alphaTest,.5),this.forceTransparent=dn(i.forceTransparent,!1),this.edgeBleach=dn(i.edgeBleach,0),t.prototype.init.call(this,i),this.build()},e.prototype.attach=function(t){var e=this;this.bufferList.forEach(function(t){e.viewer.add(t)}),this.setVisibility(this.visible),t()},e.prototype.create=function(){var t={};if(this.volume){var e,i,r=this.volume;\"sigma\"===this.thresholdType?(e=r.getValueForSigma(this.thresholdMin),i=r.getValueForSigma(this.thresholdMax)):(e=this.thresholdMin,i=this.thresholdMax),r.setFilter(e,i,this.thresholdOut),t.position=r.getDataPosition(),t.color=r.getDataColor(this.getColorParams()),\"sphere\"===this.dotType&&(t.radius=r.getDataSize(this.radius,this.scale),t.picking=r.getDataPicking())}else{var n=this.surface;t.position=n.getPosition(),t.color=n.getColor(this.getColorParams()),\"sphere\"===this.dotType&&(t.radius=n.getSize(this.radius,this.scale),t.picking=n.getPicking())}\"sphere\"===this.dotType?this.dotBuffer=new $v(t,this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!1})):this.dotBuffer=new Cy(t,this.getBufferParams({pointSize:this.pointSize,sizeAttenuation:this.sizeAttenuation,sortParticles:this.sortParticles,useTexture:this.useTexture,alphaTest:this.alphaTest,forceTransparent:this.forceTransparent,edgeBleach:this.edgeBleach})),this.bufferList.push(this.dotBuffer)},e.prototype.update=function(t){if(0!==this.bufferList.length){var e={};(t=t||{}).color&&(this.volume?e.color=this.volume.getDataColor(this.getColorParams()):e.color=this.surface.getColor(this.getColorParams())),\"sphere\"===this.dotType&&(t.radius||t.scale)&&(this.volume?e.radius=this.volume.getDataSize(this.radius,this.scale):e.radius=this.surface.getSize(this.radius,this.scale)),this.dotBuffer.setAttributes(e)}},e.prototype.setParameters=function(e,i,r){return i=i||{},e&&void 0!==e.thresholdType&&this.volume instanceof Vg&&(\"value\"===this.thresholdType&&\"sigma\"===e.thresholdType?(this.thresholdMin=this.volume.getSigmaForValue(this.thresholdMin),this.thresholdMax=this.volume.getSigmaForValue(this.thresholdMax)):\"sigma\"===this.thresholdType&&\"value\"===e.thresholdType&&(this.thresholdMin=this.volume.getValueForSigma(this.thresholdMin),this.thresholdMax=this.volume.getValueForSigma(this.thresholdMax)),this.thresholdType=e.thresholdType),e&&void 0!==e.radiusType&&(\"radius\"===e.radiusType?this.radius=.1:this.radius=e.radiusType,i.radius=!0,\"sphere\"!==this.dotType||sf&&!this.disableImpostor||(r=!0)),e&&void 0!==e.radius&&(i.radius=!0,\"sphere\"!==this.dotType||sf&&!this.disableImpostor||(r=!0)),e&&void 0!==e.scale&&(i.scale=!0,\"sphere\"!==this.dotType||sf&&!this.disableImpostor||(r=!0)),t.prototype.setParameters.call(this,e,i,r),this},e}(wy);mf.add(\"shader/Image.vert\",\"uniform float clipRadius;\\nuniform vec3 clipCenter;\\nvarying vec2 vUv;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nvoid main() {\\n#include begin_vertex\\n#include project_vertex\\nvUv = uv;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n}\"),mf.add(\"shader/Image.frag\",\"uniform sampler2D map;\\nuniform float opacity;\\nuniform vec2 mapSize;\\nuniform float nearClip;\\nuniform float clipRadius;\\nvarying vec2 vUv;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\n#if defined( PICKING )\\nuniform sampler2D pickingMap;\\nuniform float objectId;\\n#else\\n#include fog_pars_fragment\\n#endif\\n#if defined( CUBIC_INTERPOLATION )\\n#if defined( CATMULROM_FILTER ) || defined( MITCHELL_FILTER )\\n#if defined( CATMULROM_FILTER )\\nconst float B = 0.0;\\nconst float C = 0.5;\\n#elif defined( MITCHELL_FILTER )\\nconst float B = 0.333;\\nconst float C = 0.333;\\n#endif\\nfloat filter( float x ){\\nfloat f = x;\\nif( f < 0.0 ){\\nf = -f;\\n}\\nif( f < 1.0 ){\\nreturn ( ( 12.0 - 9.0 * B - 6.0 * C ) * ( f * f * f ) +\\n( -18.0 + 12.0 * B + 6.0 *C ) * ( f * f ) +\\n( 6.0 - 2.0 * B ) ) / 6.0;\\n}else if( f >= 1.0 && f < 2.0 ){\\nreturn ( ( -B - 6.0 * C ) * ( f * f * f )\\n+ ( 6.0 * B + 30.0 * C ) * ( f *f ) +\\n( - ( 12.0 * B ) - 48.0 * C ) * f +\\n8.0 * B + 24.0 * C ) / 6.0;\\n}else{\\nreturn 0.0;\\n}\\n}\\n#elif defined( BSPLINE_FILTER )\\nfloat filter( float x ){\\nfloat f = x;\\nif( f < 0.0 ){\\nf = -f;\\n}\\nif( f >= 0.0 && f <= 1.0 ){\\nreturn ( 2.0 / 3.0 ) + ( 0.5 ) * ( f * f * f ) - ( f * f );\\n}else if( f > 1.0 && f <= 2.0 ){\\nreturn 1.0 / 6.0 * pow( ( 2.0 - f ), 3.0 );\\n}\\nreturn 1.0;\\n}\\n#else\\nfloat filter( float x ){\\nreturn 1.0;\\n}\\n#endif\\nvec4 biCubic( sampler2D tex, vec2 texCoord ){\\nvec2 texelSize = 1.0 / mapSize;\\ntexCoord -= texelSize / 2.0;\\nvec4 nSum = vec4( 0.0 );\\nfloat nDenom = 0.0;\\nvec2 cell = fract( texCoord * mapSize );\\nfor( float m = -1.0; m <= 2.0; ++m ){\\nfor( float n = -1.0; n <= 2.0; ++n ){\\nvec4 vecData = texture2D(\\ntex, texCoord + texelSize * vec2( m, n )\\n);\\nfloat c = filter( m - cell.x ) * filter( -n + cell.y );\\nnSum += vecData * c;\\nnDenom += c;\\n}\\n}\\nreturn nSum / nDenom;\\n}\\n#endif\\nvoid main(){\\n#include nearclip_fragment\\n#include radiusclip_fragment\\n#if defined( CUBIC_INTERPOLATION )\\ngl_FragColor = biCubic( map, vUv );\\n#else\\ngl_FragColor = texture2D( map, vUv );\\n#endif\\n#if defined( PICKING )\\nif( gl_FragColor.a < 0.7 )\\ndiscard;\\ngl_FragColor = vec4( texture2D( pickingMap, vUv ).xyz, objectId );\\n#else\\nif( gl_FragColor.a < 0.01 )\\ndiscard;\\ngl_FragColor.a *= opacity;\\n#include fog_fragment\\n#endif\\n}\");var Ly=new Uint16Array([0,1,2,1,3,2]),Ry=new Float32Array([0,1,0,0,1,1,1,0]),Oy=function(t){function e(e,i){var r=e||{},n=i||{};t.call(this,{position:r.position,index:Ly,picking:r.picking},n),this.forceTransparent=!0,this.filter=dn(n.filter,\"nearest\");var o=new y(r.imageData,r.width,r.height);o.flipY=!0,this.tex=o;for(var a=r.imageData.length,s=new Uint8Array(a),c=0;c>16&255,s[c+1]=u>>8&255,s[c+2]=255&u}var h=new y(s,r.width,r.height);h.flipY=!0,h.minFilter=Ph,h.magFilter=Ph,this.pickingTex=h,this.addUniforms({map:{value:o},pickingMap:{value:h},mapSize:{value:new l(r.width,r.height)}}),this.geometry.addAttribute(\"uv\",new _t(Ry,2))}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={parameters:{},vertexShader:{},fragmentShader:{}};return i.parameters.get=function(){return Object.assign.call(this,{filter:{updateShader:!0,uniform:!0}},t.prototype.parameters)},e.prototype.getDefines=function(e){var i=t.prototype.getDefines.call(this,e);return this.filter.startsWith(\"cubic\")&&(i.CUBIC_INTERPOLATION=1,this.filter.endsWith(\"bspline\")?i.BSPLINE_FILTER=1:this.filter.endsWith(\"catmulrom\")?i.CATMULROM_FILTER=1:this.filter.endsWith(\"mitchell\")&&(i.MITCHELL_FILTER=1)),i},e.prototype.updateTexture=function(){var t=this.tex;this.filter.startsWith(\"cubic\")?(t.minFilter=Ph,t.magFilter=Ph):\"linear\"===this.filter?(t.minFilter=Ch,t.magFilter=Ch):(t.minFilter=Ph,t.magFilter=Ph),t.needsUpdate=!0,this.pickingTex.needsUpdate=!0},e.prototype.makeMaterial=function(){t.prototype.makeMaterial.call(this),this.updateTexture();var e=this.material;e.uniforms.map.value=this.tex,e.blending=Ou,e.needsUpdate=!0;var i=this.wireframeMaterial;i.uniforms.map.value=this.tex,i.blending=Ou,i.needsUpdate=!0;var r=this.pickingMaterial;r.uniforms.map.value=this.tex,r.uniforms.pickingMap.value=this.pickingTex,r.blending=Ou,r.needsUpdate=!0},e.prototype.setUniforms=function(e){e&&void 0!==e.filter&&(this.updateTexture(),e.map=this.tex),t.prototype.setUniforms.call(this,e)},i.vertexShader.get=function(){return\"Image.vert\"},i.fragmentShader.get=function(){return\"Image.frag\"},Object.defineProperties(e.prototype,i),e}(Lv),Dy=function(t,e){var i=e||{};this.dimension=dn(i.dimension,\"x\"),this.positionType=dn(i.positionType,\"percent\"),this.position=dn(i.position,30),this.thresholdType=dn(i.thresholdType,\"sigma\"),this.thresholdMin=dn(i.thresholdMin,-1/0),this.thresholdMax=dn(i.thresholdMax,1/0),this.normalize=dn(i.normalize,!1),this.volume=t};Dy.prototype.getPositionFromCoordinate=function(t){var e,i=this.dimension,r=this.volume,n=r.matrix,o=(new g).setFromMatrixPosition(n)[i],a=(new g).setFromMatrixScale(n)[i];return e=\"x\"===i?r.nx:\"y\"===i?r.ny:r.nz,Math.round(((t-o)/(e/100)+1)/a)},Dy.prototype.getData=function(t){function e(t){return Math.round(t/100*(o-1))}function i(t,e,i,r){return 3*(i*a.ny*a.nx+e*a.nx+t)+r}function r(t,e,i,r){m.set(t,e,i).applyMatrix4(c).toArray(f,r)}var n=this;t=t||{};var o,a=this.volume,s=a.data,c=a.matrix;o=\"coordinate\"===this.positionType?this.getPositionFromCoordinate(this.position):this.position;var u,h,l,p,d,f=new Float32Array(12),m=new g,v=0,y=0,b=0,x=a.nx,_=a.ny,w=a.nz;\"x\"===this.dimension?(l=e(a.nx),p=a.ny-1,d=a.nz-1,u=a.nz,h=a.ny,x=(v=l)+1,r(l,0,0,0),r(l,p,0,3),r(l,0,d,6),r(l,p,d,9)):\"y\"===this.dimension?(l=a.nx-1,p=e(a.ny),d=a.nz-1,u=a.nz,h=a.nx,_=(y=p)+1,r(0,p,0,0),r(l,p,0,3),r(0,p,d,6),r(l,p,d,9)):\"z\"===this.dimension&&(l=a.nx-1,p=a.ny-1,d=e(a.nz),u=a.nx,h=a.ny,w=(b=d)+1,r(0,0,d,0),r(0,p,d,3),r(l,0,d,6),r(l,p,d,9));var S,A,M=0,P=0,T=new Uint8Array(u*h*4),E=new Float32Array(u*h);\"sigma\"===this.thresholdType?(S=a.getValueForSigma(this.thresholdMin),A=a.getValueForSigma(this.thresholdMax)):(S=this.thresholdMin,A=this.thresholdMax);var C=Object.assign({},t.colorParams,{volume:a});this.normalize&&(C.domain=[0,1]);var I,L,R,O=lf.getScheme(C),D=new Float32Array(3),N=O.getScale();if(this.normalize){I=1/0,L=-1/0;for(var k=y;k<_;++k)for(var B=v;BL&&(L=z)}R=L-I}for(var U=y;U<_;++U)for(var j=v;jS&&$0&&this.updateData(t,e)},this)},e.prototype.updateData=function(){this.build()},e.prototype.getColorParams=function(){var e=t.prototype.getColorParams.call(this);return e.structure=this.structure,e},e.prototype.getAtomParams=function(t,e){return Object.assign({what:t,colorParams:this.getColorParams(),radiusParams:{radius:this.radius,scale:this.scale}},e)},e.prototype.getBondParams=function(t,e){return Object.assign({what:t,colorParams:this.getColorParams(),radiusParams:{radius:this.radius,scale:this.scale}},e)},e.prototype.setSelection=function(t,e){return this.selection.setString(t,e),this},e.prototype.setParameters=function(e,i,r){return i=i||{},e&&void 0!==e.radiusType&&(\"size\"===e.radiusType?this.radius=1:this.radius=e.radiusType,delete e.radiusType,i.radius=!0,sf&&!this.disableImpostor||(r=!0)),e&&void 0!==e.radius&&(i.radius=!0,sf&&!this.disableImpostor||(r=!0)),e&&void 0!==e.scale&&(i.radius=!0,sf&&!this.disableImpostor||(r=!0)),e&&void 0!==e.defaultAssembly&&(r=!0),t.prototype.setParameters.call(this,e,i,r),this},e.prototype.getParameters=function(){return Object.assign(t.prototype.getParameters.call(this),{sele:this.selection?this.selection.string:void 0,defaultAssembly:this.defaultAssembly})},e.prototype.attach=function(t){var e=this.viewer,i=this.bufferList;this.dataList.forEach(function(t){t.bufferList.forEach(function(r){i.push(r),e.add(r,t.instanceList)})}),this.setVisibility(this.visible),t()},e.prototype.clear=function(){this.dataList.length=0,t.prototype.clear.call(this)},e.prototype.dispose=function(){this.structureView.dispose(),delete this.structure,delete this.structureView,t.prototype.dispose.call(this)},Object.defineProperties(e.prototype,i),e}(wy),By=function(t){function e(e,i){var r=4*(e.position1.length/3);t.call(this,{position:new Float32Array(3*r),color:new Float32Array(3*r)},i),this.setAttributes(e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={isLine:{},vertexShader:{},fragmentShader:{}};return e.prototype.setAttributes=function(t){var e,i,r,n,o,a,s=this.geometry.attributes;t.position1&&t.position2&&(e=t.position1,i=t.position2,o=s.position.array,s.position.needsUpdate=!0),t.color&&t.color2&&(r=t.color,n=t.color2,a=s.color.array,s.color.needsUpdate=!0);for(var c,u,h,l,p,d,f,m,g,v,y,b=this.size,x=0;x5&&i>15e3||i>7e5){var l=Math.min(1.5,Math.max(.1,2e3/(i/n)));s&&(l=Math.min(l,.15)),e.addRepresentation(\"surface\",{sele:\"polymer\",surfaceType:\"sas\",probeRadius:1.4,scaleFactor:l,colorScheme:c,colorScale:u,colorReverse:h,useWorker:!1})}else i>25e4?e.addRepresentation(\"backbone\",{lineOnly:!0,colorScheme:c,colorScale:u,colorReverse:h}):i>1e5?e.addRepresentation(\"backbone\",{quality:\"low\",disableImpostor:!0,colorScheme:c,colorScale:u,colorReverse:h,scale:2}):i>8e4?e.addRepresentation(\"backbone\",{colorScheme:c,colorScale:u,colorReverse:h,scale:2}):(e.addRepresentation(\"cartoon\",{colorScheme:c,colorScale:u,colorReverse:h,scale:.7,aspectRatio:5,quality:\"auto\"}),i<5e4&&e.addRepresentation(\"base\",{colorScheme:c,colorScale:u,colorReverse:h,quality:\"auto\"}),e.addRepresentation(\"ball+stick\",{sele:\"ligand\",colorScheme:\"element\",scale:2,aspectRatio:1.5,bondScale:.3,bondSpacing:.75,quality:\"auto\"}));e.structure.frames.length&&e.addTrajectory()}else\"surface\"!==e.type&&\"volume\"!==e.type||e.addRepresentation(\"surface\");this.tasks.onZeroOnce(this.autoView,this)},Yy.prototype.loadFile=function(t,e){var i=Object.assign({},this.defaultFileParams,e),r=new Gy(this,i);r.name=yn(t).name,this.addComponent(r);var n=this.tasks;n.increment();var o=function(t){return this.removeComponent(r),r=this.addComponentFromObject(t,i),\"script\"===r.type?r.run():i.defaultRepresentation&&this.defaultFileRepresentation(r),n.decrement(),r}.bind(this),a=function(t){throw r.setStatus(t),n.decrement(),t};return(\"dcd\"===dn(i.ext,yn(t).ext)?Promise.reject(\"loadFile: ext 'dcd' must be loaded into a structure component\"):mo(t,i)).then(o,a)},Yy.prototype.addComponent=function(t){if(!t)return void cf.warn(\"Stage.addComponent: no component given\");this.compList.push(t),this.signals.componentAdded.dispatch(t)},Yy.prototype.addComponentFromObject=function(t,e){var i=vf.get(t.type);if(i){var r=new i(this,t,e);return this.addComponent(r),r}cf.warn(\"no component for object type\",t.type)},Yy.prototype.removeComponent=function(t){var e=this.compList.indexOf(t);-1!==e&&(this.compList.splice(e,1),t.dispose(),this.signals.componentRemoved.dispatch(t))},Yy.prototype.removeAllComponents=function(t){this.compList.slice().forEach(function(e){t&&e.type!==t||this.removeComponent(e)},this)},Yy.prototype.handleResize=function(){this.viewer.handleResize()},Yy.prototype.setSize=function(t,e){var i=this.viewer.container;i!==document.body&&(void 0!==t&&(i.style.width=t),void 0!==e&&(i.style.height=e),this.handleResize())},Yy.prototype.toggleFullscreen=function(t){function e(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement}function i(){if(!e()&&r.lastFullscreenElement){var t=r.lastFullscreenElement;t.style.width=t.dataset.normalWidth,t.style.height=t.dataset.normalHeight,document.removeEventListener(\"fullscreenchange\",i),document.removeEventListener(\"mozfullscreenchange\",i),document.removeEventListener(\"webkitfullscreenchange\",i),document.removeEventListener(\"MSFullscreenChange\",i),r.handleResize(),r.signals.fullscreenChanged.dispatch(!1)}}if(!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled))return void cf.log(\"fullscreen mode (currently) not possible\");var r=this;t=t||this.viewer.container,this.lastFullscreenElement=t,e()?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():(t.dataset.normalWidth=t.style.width,t.dataset.normalHeight=t.style.height,t.style.width=screen.width+\"px\",t.style.height=screen.height+\"px\",t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen(),document.addEventListener(\"fullscreenchange\",i),document.addEventListener(\"mozfullscreenchange\",i),document.addEventListener(\"webkitfullscreenchange\",i),document.addEventListener(\"MSFullscreenChange\",i),this.handleResize(),this.signals.fullscreenChanged.dispatch(!0),setTimeout(function(){r.handleResize()},100))},Yy.prototype.setFocus=function(t){var e=Xn(t/2,0,49.9),i=100-e,r=(i-e)/2;this.setParameters({clipNear:e,clipFar:i,fogNear:qn(i-r),fogFar:qn(i+r)})},Yy.prototype.setSpin=function(t,e){this.rockAnimation.axis&&this.setRock(null),Array.isArray(t)&&(t=(new g).fromArray(t)),void 0!==t&&(this.spinAnimation.axis=t),void 0!==e&&(this.spinAnimation.angle=e)},Yy.prototype.setRock=function(t,e,i){this.spinAnimation.axis&&this.setSpin(null),Array.isArray(t)&&(t=(new g).fromArray(t)),void 0!==t&&(this.rockAnimation.axis=t),void 0!==e&&(this.rockAnimation.angleStep=e),void 0!==i&&(this.rockAnimation.angleEnd=i),this.rockAnimation.angleSum=0,this.rockAnimation.direction=1},Yy.prototype.getZoomForBox=function(t){var e=t.getSize(qy),i=Math.max(e.x,e.y,e.z),r=Math.min(e.x,e.y,e.z),n=i+Math.sqrt(r),o=Gn(this.viewer.perspectiveCamera.fov),a=this.viewer.width,s=this.viewer.height,c=a/s,u=s=this.V[n][o]?(i=\"S\",this.score=this.S[n][o]):this.V[n][o]>=this.H[n][o]?(i=\"V\",this.score=this.V[n][o]):(i=\"H\",this.score=this.H[n][o]),t.Debug&&cf.log(\"Alignment: SCORE\",this.score),t.Debug&&cf.log(\"Alignment: S, V, H\",this.S[n][o],this.V[n][o],this.H[n][o]);n>0&&o>0;)\"S\"===i?e.S[n][o]===e.S[n-1][o-1]+r(n-1,o-1)?(e.ali1=e.seq1[n-1]+e.ali1,e.ali2=e.seq2[o-1]+e.ali2,--n,--o,i=\"S\"):e.S[n][o]===e.V[n][o]?i=\"V\":e.S[n][o]===e.H[n][o]?i=\"H\":(--n,--o):\"V\"===i?e.V[n][o]===e.V[n-1][o]+e.gapExtensionPenalty?(e.ali1=e.seq1[n-1]+e.ali1,e.ali2=\"-\"+e.ali2,--n,i=\"V\"):e.V[n][o]===e.S[n-1][o]+e.gap(0)?(e.ali1=e.seq1[n-1]+e.ali1,e.ali2=\"-\"+e.ali2,--n,i=\"S\"):--n:\"H\"===i?e.H[n][o]===e.H[n][o-1]+e.gapExtensionPenalty?(e.ali1=\"-\"+e.ali1,e.ali2=e.seq2[o-1]+e.ali2,--o,i=\"H\"):e.H[n][o]===e.S[n][o-1]+e.gap(0)?(e.ali1=\"-\"+e.ali1,e.ali2=e.seq2[o-1]+e.ali2,--o,i=\"S\"):--o:cf.error(\"Alignment: no matrix\");for(;n>0;)e.ali1=e.seq1[n-1]+e.ali1,e.ali2=\"-\"+e.ali2,--n;for(;o>0;)e.ali1=\"-\"+e.ali1,e.ali2=e.seq2[o-1]+e.ali2,--o;t.Debug&&cf.timeEnd(\"Alignment.trace\"),t.Debug&&cf.log([this.ali1,this.ali2])};var tb=function(t){function e(e){var i=this;t.call(this,e),e.scale||(this.scale=\"rainbow\",this.reverse=dn(e.reverse,!0)),this.scalePerModel={},this.structure.eachModel(function(t){i.domain=[t.atomOffset,t.atomEnd],i.scalePerModel[t.index]=i.getScale()})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){return this.scalePerModel[t.modelIndex](t.index)},e}(Dd);lf.add(\"atomindex\",tb);var eb=function(t){function e(e){if(t.call(this,e),e.scale||(this.scale=\"OrRd\"),!e.domain){var i,r=1/0,n=-1/0;e.sele&&(i=new Selection(e.sele)),this.structure.eachAtom(function(t){var e=t.bfactor;r=Math.min(r,e),n=Math.max(n,e)},i),this.domain=[r,n]}this.bfactorScale=this.getScale()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){return this.bfactorScale(t.bfactor)},e}(Dd);lf.add(\"bfactor\",eb);var ib=function(t){function e(e){t.call(this,e),e.scale||(this.scale=\"Spectral\");var i={},r={};this.structure.eachModel(function(t){var e=0,n={};t.eachChain(function(t){void 0===n[t.chainid]&&(n[t.chainid]=e,e+=1)}),this.domain=[0,e-1],i[t.index]=n,r[t.index]=this.getScale()}.bind(this)),this.atomColor=function(t){var e=i[t.modelIndex];return r[t.modelIndex](e[t.chainid])}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"chainid\",ib);var rb=function(t){function e(e){if(t.call(this,e),e.scale||(this.scale=\"Spectral\"),e.domain){var i=this.getScale();this.atomColor=function(t){return i(t.chainIndex)}}else{var r={};this.structure.eachModel(function(t){this.domain=[t.chainOffset,t.chainEnd],r[t.index]=this.getScale()}.bind(this)),this.atomColor=function(t){return r[t.modelIndex](t.chainIndex)}}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"chainindex\",rb);var nb=function(t){function e(e){t.call(this,e),e.scale||(this.scale=\"Spectral\");var i={},r={};this.structure.eachModel(function(t){var e=0,n={};t.eachChain(function(t){void 0===n[t.chainname]&&(n[t.chainname]=e,e+=1)}),this.domain=[0,e-1],i[t.index]=n,r[t.index]=this.getScale()}.bind(this)),this.atomColor=function(t){var e=i[t.modelIndex];return r[t.modelIndex](e[t.chainname])}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"chainname\",nb);var ob=function(t){function e(e){t.call(this,e),e.scale||(this.scale=\"RdYlBu\"),this.rsrzScale=this.getScale({domain:[2,0]}),this.rsccScale=this.getScale({domain:[.678,1]});var i=e.structure.validation||{};this.rsrzDict=i.rsrzDict||{},this.rsccDict=i.rsccDict||{}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){var e=t.resno;t.inscode&&(e+=\"^\"+t.inscode),t.chainname&&(e+=\":\"+t.chainname),e+=\"/\"+t.modelIndex;var i=this.rsrzDict[e];if(void 0!==i)return this.rsrzScale(i);var r=this.rsccDict[e];return void 0!==r?this.rsccScale(r):9474192},e}(Dd);lf.add(\"densityfit\",ob);var ab={ARG:{CD:.1,CZ:.5,NE:-.1},ASN:{CG:.55,OD1:-.55},ASP:{CB:-.16,CG:.36,OD1:-.6,OD2:-.6},CYS:{CB:.19,SG:-.19},GLN:{CD:.55,OE1:-.55},GLU:{CD:.36,CG:-.16,OE1:-.6,OE2:-.6},HIS:{CB:.1,CD2:.2,CE1:.45,CG:.15,ND1:.05,NE2:.05},LYS:{CE:.25,NZ:.75},MET:{CE:.06,CG:.06,SD:-.12},PTR:{C:.55,CA:.1,CZ:.25,N:-.35,O:-.55,O1P:-.85,O2P:-.85,O3P:-.85,OG1:-1.1,P:1.4},SEP:{C:.55,CA:.1,CB:.25,N:-.35,O:-.55,O1P:-.85,O2P:-.85,O3P:-.85,OG1:-1.1,P:1.4},SER:{CB:.25,OG:-.25},THR:{CB:.25,OG1:-.25},TPO:{C:.55,CA:.1,CB:.25,N:-.35,O:-.55,OG1:-1.1,O1P:-.85,O2P:-.85,O3P:-.85,P:1.4},TRP:{CD1:.06,CD2:.1,CE2:-.04,CE3:-.03,CG:-.03,NE1:-.06},TYR:{CZ:.25,OH:-.25},backbone:{C:.55,O:-.55,N:-.35,CA:.1}},sb=12,cb=1.04,ub=.25,hb=function(t){function e(e){function i(t){return t.isProtein()?ab[t.resname]&&ab[t.resname][t.atomname]||ab.backbone[t.atomname]||0:0}t.call(this,e),e.scale||(this.scale=\"rwb\"),e.domain||(this.domain=[-.5,0,.5]);var r=this.getScale(),n=this.structure,o=new Float32Array(n.atomCount),a=[],s=[];n.eachAtom(function(t){if(o[t.index]=i(t)*t.occupancy,\"N\"===t.atomname){var e=Ls(t);void 0!==e&&(a.push(e),s.push(ub*t.occupancy))}});var c=this.structure.getBoundingBox();c.expandByScalar(cb);var u=Rs(a),h=new Fa(u,c),l=new Fa(this.structure.atomStore,c),p=this.atomProxy,d=new g,f=sb*sb;this.positionColor=function(t){for(var e=0,i=l.within(t.x,t.y,t.z,sb),n=0;n=3?10813478:9474192},e}(Dd);lf.add(\"geoquality\",mb);var gb=function(t){function e(e){t.call(this,e),e.scale||(this.scale=\"RdYlGn\");var i,r={};for(i in Sg)r[i]=Sg[i][0];if(!e.domain){var n,o=1/0,a=-1/0;for(i in r)n=r[i],o=Math.min(o,n),a=Math.max(a,n);this.domain=[o,0,a]}var s=this.getScale();this.atomColor=function(t){return s(r[t.resname]||Ag)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"hydrophobicity\",gb);var vb=function(t){function e(e){t.call(this,e),e.scale||(this.scale=\"rainbow\"),e.domain||(this.domain=[0,this.structure.modelStore.count]);var i=this.getScale();this.atomColor=function(t){return i(t.modelIndex)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"modelindex\",vb);var yb=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){switch(t.residueType.moleculeType){case 1:return 3697840;case 2:return 15729279;case 3:return 12496596;case 4:return 16629894;case 5:return 12540695;case 6:return 8374655;default:return 16777113}},e}(Dd);lf.add(\"moleculetype\",yb);var bb=function(t){function e(e){t.call(this,e),e.scale||(this.scale=\"PuBu\"),e.domain||(this.domain=[0,1]);var i=this.getScale();this.atomColor=function(t){return i(t.occupancy)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"occupancy\",bb);var xb=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(){return Os()},e.prototype.volumeColor=function(){return Os()},e.prototype.positionColor=function(){return Os()},e}(Dd);lf.add(\"random\",xb);var _b=function(t){function e(e){var i=this;if(t.call(this,e),e.scale||(this.scale=\"rainbow\",this.reverse=dn(e.reverse,!0)),e.domain){var r=this.getScale();this.atomColor=function(t){return r(t.residueIndex)}}else{var n={};this.structure.eachChain(function(t){i.domain=[t.residueOffset,t.residueEnd],n[t.index]=i.getScale()}),this.atomColor=function(t){return n[t.chainIndex](t.residueIndex)}}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Dd);lf.add(\"residueindex\",_b);var wb={ALA:9240460,ARG:124,ASN:16743536,ASP:10485826,CYS:16777072,GLN:16731212,GLU:6684672,GLY:16777215,HIS:7368959,ILE:19456,LEU:4546117,LYS:4671416,MET:12099650,PHE:5459026,PRO:5395026,SER:16740418,THR:12078080,TRP:5195264,TYR:9203788,VAL:16747775,ASX:16711935,GLX:16711935,ASH:16711935,GLH:16711935,A:10526975,G:16740464,I:8454143,C:16747595,T:10551200,U:16744576,DA:10526975,DG:16740464,DI:8454143,DC:16747595,DT:10551200,DU:16744576},Sb=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){return wb[t.resname]||16711935},e}(Dd);lf.add(\"resname\",Sb);var Ab={alphaHelix:16711808,threeTenHelix:10485888,piHelix:6291584,betaStrand:16762880,betaTurn:6324479,coil:16777215,dna:11403518,rna:16580962,carbohydrate:10921722},Mb=function(t){function e(e){t.call(this,e),this.rp=this.structure.getResidueProxy()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(t){var e=t.sstruc,i=this.rp;return\"h\"===e?Ab.alphaHelix:\"g\"===e?Ab.threeTenHelix:\"i\"===e?Ab.piHelix:\"e\"===e||\"b\"===e?Ab.betaStrand:\"t\"===e?Ab.betaTurn:(i.index=t.residueIndex,i.isDna()?Ab.dna:i.isRna()?Ab.rna:i.isSaccharide()?Ab.carbohydrate:i.isProtein()||\"s\"===e||\"l\"===e?Ab.coil:8421504)},e}(Dd);lf.add(\"sstruc\",Mb);var Pb=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.atomColor=function(){return this.value},e.prototype.bondColor=function(){return this.value},e.prototype.valueColor=function(){return this.value},e.prototype.volumeColor=function(){return this.value},e}(Dd);lf.add(\"uniform\",Pb);var Tb=function(t){function e(e){t.call(this,e),this.valueScale=this.getScale()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.volumeColor=function(t){return this.valueScale(this.volume.data[t])},e}(Dd);lf.add(\"value\",Tb);var Eb=function(t){function e(e){t.call(this,e);var i=this.volume;if(i&&i.inverseMatrix){var r=this.getScale(),n=i.inverseMatrix,o=i.data,a=i.nx,s=i.ny,c=a*s,u=new g;this.positionColor=function(t){u.copy(t),u.applyMatrix4(n);var e=Math.floor(u.x),i=Math.floor(u.y),h=Math.floor(u.z),l=(h*s+i)*a+e,p=l+1,d=l+a,f=l+c,m=d+1,g=f+1,v=d+c,y=v+1,b=o[l],x=o[p],_=o[d],w=o[f],S=o[m],A=o[g],M=o[v],P=o[y],T=u.x-e,E=u.y-i,C=u.z-h,I=Zn(b,x,T),L=Zn(w,A,T),R=Zn(_,S,T),O=Zn(M,P,T),D=Zn(Zn(I,R,E),Zn(L,O,E),C);return r(D)}}else{var h=this.value;this.positionColor=function(){return h}}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.positionColor=function(){},e}(Dd);lf.add(\"volume\",Eb);var Cb=function(t){function e(e,i,r){var n=this,o=r||{};o.name=dn(o.name,i.name),t.call(this,e,o),this.script=i,this.status=\"loaded\",this.script.signals.nameChanged.add(function(t){n.setName(t)})}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"script\"},e.prototype.addRepresentation=function(){},e.prototype.removeRepresentation=function(){},e.prototype.run=function(){var t=this;this.setStatus(\"running\"),this.script.call(this.stage).then(function(){t.setStatus(\"finished\")}),this.setStatus(\"called\")},e.prototype.dispose=function(){this.signals.disposed.dispatch()},e.prototype.setVisibility=function(){},e.prototype.getCenter=function(){},e.prototype.getZoom=function(){},e.prototype.getBox=function(){},Object.defineProperties(e.prototype,i),e}(Gy);vf.add(\"script\",Cb);var Ib=function(t){function e(e,i,r){var n=r||{};n.name=dn(n.name,i.name),t.call(this,e,n),this.shape=i}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"shape\"},e.prototype.addRepresentation=function(e,i){return t.prototype.addRepresentation.call(this,e,this.shape,i)},e.prototype.getBoxUntransformed=function(){return this.shape.boundingBox},e.prototype.getCenterUntransformed=function(){return this.shape.center},e.prototype.dispose=function(){this.shape.dispose(),t.prototype.dispose.call(this)},Object.defineProperties(e.prototype,i),e}(Gy);vf.add(\"shape\",Ib);var Lb=function(t){function e(e,i,r,n){var o=this,a=r||{};a.name=dn(a.name,i.name),t.call(this,e,a),this.signals=Object.assign(this.signals,{frameChanged:new io,playerChanged:new io,gotNumframes:new io,parametersChanged:new io}),this.trajectory=i,this.parent=n,this.status=\"loaded\",this.defaultStep=dn(a.defaultStep,void 0),this.defaultTimeout=dn(a.defaultTimeout,50),this.defaultInterpolateType=dn(a.defaultInterpolateType,\"\"),this.defaultInterpolateStep=dn(a.defaultInterpolateStep,5),this.defaultMode=dn(a.defaultMode,\"loop\"),this.defaultDirection=dn(a.defaultDirection,\"forward\"),i.signals.frameChanged.add(function(t){o.signals.frameChanged.dispatch(t)}),i.signals.playerChanged.add(function(t){o.signals.playerChanged.dispatch(t)}),i.signals.gotNumframes.add(function(t){o.signals.gotNumframes.dispatch(t)}),void 0!==a.initialFrame&&this.setFrame(a.initialFrame)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"trajectory\"},e.prototype.addRepresentation=function(e,i){return t.prototype.addRepresentation.call(this,e,this.trajectory,i)},e.prototype.setFrame=function(t){this.trajectory.setFrame(t)},e.prototype.setParameters=function(t){this.trajectory.setParameters(t),this.signals.parametersChanged.dispatch(t)},e.prototype.dispose=function(){this.trajectory.dispose(),t.prototype.dispose.call(this)},e.prototype.getCenter=function(){},Object.defineProperties(e.prototype,i),e}(Gy),Rb=function(t){function e(e,i,r){t.call(this,\"\",i,r),this.name=e.name,this.path=e.path,this.frames=e.coordinates,this.boxes=e.boxes}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"frames\"},e.prototype.makeAtomIndices=function(){\"StructureView\"===this.structure.type?this.atomIndices=this.structure.getAtomIndices():this.atomIndices=null},e.prototype._loadFrame=function(t,e){var i,r=this.frames[t];if(this.atomIndices){var n=this.atomIndices,o=n.length;i=new Float32Array(3*o);for(var a=0;a0&&(r=\"( \"+e.join(\" ) AND ( \")+\" )\"),new Kd(r)},i.prototype.getStructure=function(){return this.structure.getStructure()},i.prototype.eachBond=function(t,e){this.structure.eachBond(t,this.getSelection(e))},i.prototype.eachAtom=function(t,e){var i=this.getAtomProxy(),r=this.getAtomSet(e),n=this.atomStore.count;if(r.getSize()0&&ie)&&(s=!0,n.set(r.index),o.addBond(a,r,1))}s&&n.set(a.index)});var a=new og(o.count,!0);return cf.timeEnd(\"Contact within\"),{atomSet:n,bondSet:a,bondStore:o}};var qb=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"contact\",this.parameters=Object.assign({contactType:{type:\"select\",rebuild:!0,options:{polar:\"polar\",polarBackbone:\"polar backbone\"}},maxDistance:{type:\"number\",precision:1,max:10,min:.1,rebuild:!0},maxAngle:{type:\"integer\",max:180,min:0,rebuild:!0},radialSegments:!0,disableImpostor:!0},this.parameters),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};i.radius=dn(i.radius,.25),this.contactType=dn(i.contactType,\"polarBackbone\"),this.maxDistance=dn(i.maxDistance,3.5),this.maxAngle=dn(i.maxAngle,40),t.prototype.init.call(this,i)},e.prototype.getContactData=function(t){return{polar:Bs,polarBackbone:Fs}[this.contactType](t,this.maxDistance,this.maxAngle)},e.prototype.getBondData=function(t,e,i){var r=t.getBondData(this.getBondParams(e,i));return r.picking&&(r.picking=new Xm(r.picking.array,r.picking.structure,i.bondStore)),r},e.prototype.createData=function(t){var e=this.getContactData(t);return{bufferList:[new oy(this.getBondData(t,void 0,{bondSet:e.bondSet,bondStore:e.bondStore}),this.getBufferParams({openEnded:!1,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0}))],bondSet:e.bondSet,bondStore:e.bondStore}},e.prototype.updateData=function(t,e){if(!t||t.position){var i=this.getContactData(e.sview);e.bondSet=i.bondSet,e.bondStore=i.bondStore}var r={bondSet:e.bondSet,bondStore:e.bondStore},n=this.getBondData(e.sview,t,r),o={};t&&!t.position||(o.position=Mo(n.position1,n.position2),o.position1=n.position1,o.position2=n.position2),t&&!t.color||(o.color=n.color1,o.color2=n.color2),t&&!t.radius||(o.radius=n.radius),e.bufferList[0].setAttributes(o)},e}(ky);df.add(\"contact\",qb);var Yb=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"distance\",this.parameters=Object.assign({labelSize:{type:\"number\",precision:3,max:10,min:.001},labelColor:{type:\"color\"},labelVisible:{type:\"boolean\"},labelZOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:\"zOffset\"},labelUnit:{type:\"select\",rebuild:!0,options:{\"\":\"\",angstrom:\"angstrom\",nm:\"nm\"}},atomPair:{type:\"hidden\",rebuild:!0},radialSegments:!0,disableImpostor:!0},this.parameters,{flatShaded:null,assembly:null}),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};i.radius=dn(i.radius,.15),this.fontFamily=dn(i.fontFamily,\"sans-serif\"),this.fontStyle=dn(i.fontStyle,\"normal\"),this.fontWeight=dn(i.fontWeight,\"bold\"),this.sdf=dn(i.sdf,\"Firefox\"!==nf),this.labelSize=dn(i.labelSize,2),this.labelColor=dn(i.labelColor,16777215),this.labelVisible=dn(i.labelVisible,!0),this.labelZOffset=dn(i.labelZOffset,.5),this.labelUnit=dn(i.labelUnit,\"\"),this.atomPair=dn(i.atomPair,[]),t.prototype.init.call(this,i)},e.prototype.getDistanceData=function(t,e){var i=e.length,r=new Array(i),n=new Float32Array(3*i),o=new Kd,a=new Kd,s=new Yg,c=t.getAtomProxy(),u=t.getAtomProxy(),h=0;e.forEach(function(e,i){var l=e[0],p=e[1];if(Number.isInteger(l)&&Number.isInteger(p))c.index=l,u.index=p;else{o.setString(l),a.setString(p);var d=t.getAtomIndices(o),f=t.getAtomIndices(a);if(!d.length||!f.length)return void(h+=1);c.index=d[0],u.index=f[0]}s.addBond(c,u,1),i-=h;var m=c.distanceTo(u);switch(this.labelUnit){case\"angstrom\":r[i]=m.toFixed(2)+\" \"+String.fromCharCode(8491);break;case\"nm\":r[i]=(m/10).toFixed(2)+\" nm\";break;default:r[i]=m.toFixed(2)}var g=3*i;n[g+0]=(c.x+u.x)/2,n[g+1]=(c.y+u.y)/2,n[g+2]=(c.z+u.z)/2},this),h>0&&(i-=h,n=n.subarray(0,3*i));var l=new og(s.count,!0);return{text:r,position:n,bondSet:l,bondStore:s}},e.prototype.getBondData=function(t,e,i){var r=t.getBondData(this.getBondParams(e,i));return r.picking&&(r.picking=new Zm(r.picking.array,r.picking.structure,i.bondStore)),r},e.prototype.create=function(){if(0!==this.structureView.atomCount){var t=this.atomPair.length;if(0!==t){var e=this.getDistanceData(this.structureView,this.atomPair),i=new tt(this.labelColor);this.textBuffer=new vy({position:e.position,size:Po(t,this.labelSize),color:To(t,i.r,i.g,i.b),text:e.text},this.getBufferParams({fontFamily:this.fontFamily,fontStyle:this.fontStyle,fontWeight:this.fontWeight,sdf:this.sdf,zOffset:this.labelZOffset,opacity:1,visible:this.labelVisible}));var r={bondSet:e.bondSet,bondStore:e.bondStore},n=this.getBondData(this.structureView,void 0,r);this.cylinderBuffer=new oy(n,this.getBufferParams({openEnded:!1,radialSegments:this.radialSegments,disableImpostor:this.disableImpostor,dullInterior:!0})),this.dataList.push({sview:this.structureView,bondSet:e.bondSet,bondStore:e.bondStore,position:e.position,bufferList:[this.textBuffer,this.cylinderBuffer]})}}},e.prototype.update=function(e){e.position?this.build():t.prototype.update.call(this,e)},e.prototype.updateData=function(t,e){var i={bondSet:e.bondSet,bondStore:e.bondStore},r=this.getBondData(e.sview,t,i),n={},o={},a=this.atomPair.length;if(t.labelSize&&(o.size=Po(a,this.labelSize)),t.labelColor){var s=new tt(this.labelColor);o.color=To(a,s.r,s.g,s.b)}t.color&&(n.color=r.color,n.color2=r.color2),(t.radius||t.scale)&&(n.radius=r.radius),this.textBuffer.setAttributes(o),this.cylinderBuffer.setAttributes(n)},e.prototype.setVisibility=function(e,i){return t.prototype.setVisibility.call(this,e,!0),this.textBuffer&&this.textBuffer.setVisibility(this.labelVisible&&this.visible),i||this.viewer.requestRender(),this},e.prototype.setParameters=function(e){var i={};return e&&e.labelSize&&(i.labelSize=!0),e&&(e.labelColor||0===e.labelColor)&&(i.labelColor=!0),t.prototype.setParameters.call(this,e,i,!1),e&&void 0!==e.labelVisible&&this.setVisibility(this.visible),this},e}(ky);df.add(\"distance\",Yb);var Zb=function(t){function e(e,i){var r=i||{},n=2*(e.position.length/3),o=new tt(dn(r.color,\"grey\")),a=new Float32Array(3*n),s=To(n,o.r,o.g,o.b);t.call(this,{position:a,color:s},r),this.scale=dn(r.scale,1),this.setAttributes(e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={isLine:{},vertexShader:{},fragmentShader:{}};return e.prototype.setAttributes=function(t){var e,i,r,n=this.geometry.attributes;t.position&&t.vector&&(e=t.position,i=t.vector,r=n.position.array,n.position.needsUpdate=!0);var o,a,s=this.size/2,c=this.scale;if(t.position&&t.vector)for(var u=0;u radius2) {\\nspaceposition.y = mapping.y * 1.5 * radius1;\\nspaceposition.x = mapping.x * 1.5 * radius1;\\n} else {\\nspaceposition.y = mapping.y * 1.5 * radius2;\\nspaceposition.x = mapping.x * 1.5 * radius2;\\n}\\nspaceposition.w = 1.0;\\nvec4 e3 = vec4( 1.0 );\\nvec3 e1, e1_temp, e2, e2_temp;\\ne3.xyz = normalize(position_atom1-position_atom2);\\nif (e3.z == 0.0) { e3.z = 0.0000000000001;}\\nif ( (position_atom1.x - position_atom2.x) == 0.0) { position_atom1.x += 0.001;}\\nif ( (position_atom1.y - position_atom2.y) == 0.0) { position_atom1.y += 0.001;}\\nif ( (position_atom1.z - position_atom2.z) == 0.0) { position_atom1.z += 0.001;}\\nvec4 focus = vec4( 1.0 );\\nfocus.x = ( position_atom1.x*position_atom1.x - position_atom2.x*position_atom2.x +\\n( radius2*radius2 - radius1*radius1 )*e3.x*e3.x/shrink )/(2.0*(position_atom1.x - position_atom2.x));\\nfocus.y = ( position_atom1.y*position_atom1.y - position_atom2.y*position_atom2.y +\\n( radius2*radius2 - radius1*radius1 )*e3.y*e3.y/shrink )/(2.0*(position_atom1.y - position_atom2.y));\\nfocus.z = ( position_atom1.z*position_atom1.z - position_atom2.z*position_atom2.z +\\n( radius2*radius2 - radius1*radius1 )*e3.z*e3.z/shrink )/(2.0*(position_atom1.z - position_atom2.z));\\ne1.x = 1.0;\\ne1.y = 1.0;\\ne1.z = ( (e3.x*focus.x + e3.y*focus.y + e3.z*focus.z) - e1.x*e3.x - e1.y*e3.y)/e3.z;\\ne1_temp = e1 - focus.xyz;\\ne1 = normalize(e1_temp);\\ne2_temp = e1.yzx * e3.zxy - e1.zxy * e3.yzx;\\ne2 = normalize(e2_temp);\\nmat3 R= mat3( e1.xyz, e2.xyz, e3.xyz );\\nvertex_position.xyz = R * spaceposition.xyz;\\nvertex_position.w = 1.0;\\nvertex_position.x += (position_atom1.x+position_atom2.x) / 2.0;\\nvertex_position.y += (position_atom1.y+position_atom2.y) / 2.0;\\nvertex_position.z += (position_atom1.z+position_atom2.z) / 2.0;\\ngl_Position = modelViewProjectionMatrix * vertex_position;\\nvec4 i_near, i_far;\\nvec4 near = gl_Position;\\nnear.z = 0.0 ;\\nnear = modelViewProjectionMatrixInverse * near;\\ni_near = near;\\nvec4 far = gl_Position;\\nfar.z = far.w ;\\ni_far = modelViewProjectionMatrixInverse * far;\\nprime1 = vec4( position_atom1 - (position_atom1 - focus.xyz)*shrink, 1.0 );\\nprime2 = vec4( position_atom2 - (position_atom2 - focus.xyz)*shrink, 1.0 );\\nfloat Rsquare = (radius1*radius1/shrink) - (\\n(position_atom1.x - focus.x)*(position_atom1.x - focus.x) +\\n(position_atom1.y - focus.y)*(position_atom1.y - focus.y) +\\n(position_atom1.z - focus.z)*(position_atom1.z - focus.z)\\n);\\nfocus.w = Rsquare;\\nmatrix_near = mat4( i_near, i_far, focus, e3 );\\ngl_Position.z = 1.0;\\n}\"),mf.add(\"shader/HyperballStickImpostor.frag\",\"#define STANDARD\\n#define IMPOSTOR\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\nuniform float nearClip;\\nuniform float shrink;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 modelViewProjectionMatrix;\\nuniform mat4 modelViewMatrixInverseTranspose;\\nuniform mat4 projectionMatrix;\\nvarying mat4 matrix_near;\\nvarying vec4 prime1;\\nvarying vec4 prime2;\\nvarying float vRadius;\\nvarying float vRadius2;\\n#ifdef PICKING\\nuniform float objectId;\\nvarying vec3 vPickingColor;\\n#else\\nvarying vec3 vColor1;\\nvarying vec3 vColor2;\\n#include common\\n#include fog_pars_fragment\\n#include bsdfs\\n#include lights_pars\\n#include lights_physical_pars_fragment\\n#endif\\nbool interior = false;\\nfloat calcClip( vec4 cameraPos ){\\nreturn dot( cameraPos, vec4( 0.0, 0.0, 1.0, nearClip - 0.5 ) );\\n}\\nfloat calcClip( vec3 cameraPos ){\\nreturn calcClip( vec4( cameraPos, 1.0 ) );\\n}\\nfloat calcDepth( in vec3 cameraPos ){\\nvec2 clipZW = cameraPos.z * projectionMatrix[2].zw + projectionMatrix[3].zw;\\nreturn 0.5 + 0.5 * clipZW.x / clipZW.y;\\n}\\nstruct Ray {\\nvec3 origin ;\\nvec3 direction ;\\n};\\nbool cutoff_plane (vec3 M, vec3 cutoff, vec3 x3){\\nfloat a = x3.x;\\nfloat b = x3.y;\\nfloat c = x3.z;\\nfloat d = -x3.x*cutoff.x-x3.y*cutoff.y-x3.z*cutoff.z;\\nfloat l = a*M.x+b*M.y+c*M.z+d;\\nif (l<0.0) {return true;}\\nelse{return false;}\\n}\\nvec3 isect_surf(Ray r, mat4 matrix_coef){\\nvec4 direction = vec4(r.direction, 0.0);\\nvec4 origin = vec4(r.origin, 1.0);\\nfloat a = dot(direction,(matrix_coef*direction));\\nfloat b = dot(origin,(matrix_coef*direction));\\nfloat c = dot(origin,(matrix_coef*origin));\\nfloat delta =b*b-a*c;\\ngl_FragColor.a = 1.0;\\nif (delta<0.0){\\ndiscard;\\n}\\nfloat t1 =(-b-sqrt(delta))/a;\\nreturn r.origin+t1*r.direction;\\n}\\nvec3 isect_surf2(Ray r, mat4 matrix_coef){\\nvec4 direction = vec4(r.direction, 0.0);\\nvec4 origin = vec4(r.origin, 1.0);\\nfloat a = dot(direction,(matrix_coef*direction));\\nfloat b = dot(origin,(matrix_coef*direction));\\nfloat c = dot(origin,(matrix_coef*origin));\\nfloat delta =b*b-a*c;\\ngl_FragColor.a = 1.0;\\nif (delta<0.0){\\ndiscard;\\n}\\nfloat t2 =(-b+sqrt(delta))/a;\\nreturn r.origin+t2*r.direction;\\n}\\nRay primary_ray(vec4 near1, vec4 far1){\\nvec3 near=near1.xyz/near1.w;\\nvec3 far=far1.xyz/far1.w;\\nreturn Ray(near,far-near);\\n}\\nfloat update_z_buffer(vec3 M, mat4 ModelViewP){\\nfloat depth1;\\nvec4 Ms=(ModelViewP*vec4(M,1.0));\\nreturn depth1=(1.0+Ms.z/Ms.w)/2.0;\\n}\\nvoid main(){\\nfloat radius = max( vRadius, vRadius2 );\\nvec4 i_near, i_far, focus;\\nvec3 e3, e1, e1_temp, e2;\\ni_near = vec4(matrix_near[0][0],matrix_near[0][1],matrix_near[0][2],matrix_near[0][3]);\\ni_far = vec4(matrix_near[1][0],matrix_near[1][1],matrix_near[1][2],matrix_near[1][3]);\\nfocus = vec4(matrix_near[2][0],matrix_near[2][1],matrix_near[2][2],matrix_near[2][3]);\\ne3 = vec3(matrix_near[3][0],matrix_near[3][1],matrix_near[3][2]);\\ne1.x = 1.0;\\ne1.y = 1.0;\\ne1.z = ( (e3.x*focus.x + e3.y*focus.y + e3.z*focus.z) - e1.x*e3.x - e1.y*e3.y)/e3.z;\\ne1_temp = e1 - focus.xyz;\\ne1 = normalize(e1_temp);\\ne2 = normalize(cross(e1,e3));\\nvec4 equation = focus;\\nfloat shrinkfactor = shrink;\\nfloat t1 = -1.0/(1.0-shrinkfactor);\\nfloat t2 = 1.0/(shrinkfactor);\\nvec4 colonne1, colonne2, colonne3, colonne4;\\nmat4 mat;\\nvec3 equation1 = vec3(t2,t2,t1);\\nfloat A1 = - e1.x*equation.x - e1.y*equation.y - e1.z*equation.z;\\nfloat A2 = - e2.x*equation.x - e2.y*equation.y - e2.z*equation.z;\\nfloat A3 = - e3.x*equation.x - e3.y*equation.y - e3.z*equation.z;\\nfloat A11 = equation1.x*e1.x*e1.x + equation1.y*e2.x*e2.x + equation1.z*e3.x*e3.x;\\nfloat A21 = equation1.x*e1.x*e1.y + equation1.y*e2.x*e2.y + equation1.z*e3.x*e3.y;\\nfloat A31 = equation1.x*e1.x*e1.z + equation1.y*e2.x*e2.z + equation1.z*e3.x*e3.z;\\nfloat A41 = equation1.x*e1.x*A1 + equation1.y*e2.x*A2 + equation1.z*e3.x*A3;\\nfloat A22 = equation1.x*e1.y*e1.y + equation1.y*e2.y*e2.y + equation1.z*e3.y*e3.y;\\nfloat A32 = equation1.x*e1.y*e1.z + equation1.y*e2.y*e2.z + equation1.z*e3.y*e3.z;\\nfloat A42 = equation1.x*e1.y*A1 + equation1.y*e2.y*A2 + equation1.z*e3.y*A3;\\nfloat A33 = equation1.x*e1.z*e1.z + equation1.y*e2.z*e2.z + equation1.z*e3.z*e3.z;\\nfloat A43 = equation1.x*e1.z*A1 + equation1.y*e2.z*A2 + equation1.z*e3.z*A3;\\nfloat A44 = equation1.x*A1*A1 + equation1.y*A2*A2 + equation1.z*A3*A3 - equation.w;\\ncolonne1 = vec4(A11,A21,A31,A41);\\ncolonne2 = vec4(A21,A22,A32,A42);\\ncolonne3 = vec4(A31,A32,A33,A43);\\ncolonne4 = vec4(A41,A42,A43,A44);\\nmat = mat4(colonne1,colonne2,colonne3,colonne4);\\nRay ray = primary_ray(i_near,i_far) ;\\nvec3 M;\\nM = isect_surf(ray, mat);\\nif (cutoff_plane(M, prime1.xyz, -e3) || cutoff_plane(M, prime2.xyz, e3)){ discard; }\\nvec4 M1 = vec4(M,1.0);\\nvec4 M2 = mat*M1;\\nvec3 _normal = ( modelViewMatrixInverseTranspose * M2 ).xyz;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\n#ifdef NEAR_CLIP\\nif( calcClip( modelViewMatrix * vec4( M, 1.0 ) ) > 0.0 ){\\nM = isect_surf2(ray, mat);\\nif( calcClip( modelViewMatrix * vec4( M, 1.0 ) ) > 0.0 )\\ndiscard;\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = max( 0.0, calcDepth( vec3( - ( nearClip - 0.5 ) ) ) + ( 0.0000001 / radius ) );\\n}\\n}else if( gl_FragDepthEXT <= 0.0 ){\\nM = isect_surf2(ray, mat);\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix);\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / radius );\\n}\\n}\\n#else\\nif( gl_FragDepthEXT <= 0.0 ){\\nM = isect_surf2(ray, mat);\\ninterior = true;\\ngl_FragDepthEXT = update_z_buffer(M, modelViewProjectionMatrix) ;\\nif( gl_FragDepthEXT >= 0.0 ){\\ngl_FragDepthEXT = 0.0 + ( 0.0000001 / radius );\\n}\\n}\\n#endif\\nif (cutoff_plane(M, prime1.xyz, -e3) || cutoff_plane(M, prime2.xyz, e3)){ discard; }\\nif (gl_FragDepthEXT < 0.0)\\ndiscard;\\nif (gl_FragDepthEXT > 1.0)\\ndiscard;\\nfloat distance_ratio = ((M.x-prime2.x)*e3.x + (M.y-prime2.y)*e3.y +(M.z-prime2.z)*e3.z) /\\ndistance(prime2.xyz,prime1.xyz);\\n#ifdef PICKING\\ngl_FragColor = vec4( vPickingColor, objectId );\\n#else\\nvec3 vViewPosition = -( modelViewMatrix * vec4( M, 1.0 ) ).xyz;\\nvec3 vNormal = _normal;\\nvec3 vColor;\\nif( distance_ratio>0.5 ){\\nvColor = vColor1;\\n}else{\\nvColor = vColor2;\\n}\\nvec4 diffuseColor = vec4( diffuse, opacity );\\nReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\nvec3 totalEmissiveLight = emissive;\\n#include color_fragment\\n#include roughnessmap_fragment\\n#include metalnessmap_fragment\\nvec3 normal = normalize( vNormal );\\nif( interior ){\\nnormal = vec3( 0.0, 0.0, 0.4 );\\n}\\n#include lights_physical_fragment\\n#include lights_template\\nvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveLight;\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n#include premultiplied_alpha_fragment\\n#include tonemapping_fragment\\n#include encodings_fragment\\n#include fog_fragment\\n#endif\\n}\");var Jb=new Float32Array([-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,1,1,1,-1,1,1]),tx=new Uint16Array([0,1,2,0,2,3,1,5,6,1,6,2,4,6,5,4,7,6,0,7,4,0,3,7,0,5,1,0,4,5,3,2,6,3,6,7]),ex=function(t){function e(e,i){t.call(this,e,i);var r=e||{},n=dn((i||{}).shrink,.14);this.addUniforms({modelViewProjectionMatrix:{value:new v},modelViewProjectionMatrixInverse:{value:new v},modelViewMatrixInverseTranspose:{value:new v},shrink:{value:n}}),this.addAttributes({position1:{type:\"v3\",value:null},position2:{type:\"v3\",value:null},color2:{type:\"c\",value:null},radius:{type:\"f\",value:null},radius2:{type:\"f\",value:null}}),this.setAttributes(r),this.makeMapping()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={parameters:{},isImpostor:{},vertexShader:{},fragmentShader:{}};return i.parameters.get=function(){return Object.assign.call(this,{shrink:{uniform:!0}},t.prototype.parameters)},i.isImpostor.get=function(){return!0},i.vertexShader.get=function(){return\"HyperballStickImpostor.vert\"},i.fragmentShader.get=function(){return\"HyperballStickImpostor.frag\"},Object.defineProperties(e.prototype,i),e}(function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={mapping:{},mappingIndices:{},mappingIndicesSize:{},mappingType:{},mappingSize:{},mappingItemSize:{}};return i.mapping.get=function(){return Jb},i.mappingIndices.get=function(){return tx},i.mappingIndicesSize.get=function(){return 36},i.mappingType.get=function(){return\"v3\"},i.mappingSize.get=function(){return 8},i.mappingItemSize.get=function(){return 3},Object.defineProperties(e.prototype,i),e}(zv)),ix=function(t,e){return!sf||e&&e.disableImpostor?(t.radius=Lo(t.radius1,t.radius2),new ey(t,e)):new ex(t,e)},rx=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"hyperball\",this.parameters=Object.assign({shrink:{type:\"number\",precision:3,max:1,min:.001,buffer:!0}},this.parameters,{multipleBond:null,bondSpacing:null})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};i.scale=dn(i.scale,.2),i.radius=dn(i.radius,\"vdw\"),this.shrink=dn(i.shrink,.12),t.prototype.init.call(this,i)},e.prototype.getBondParams=function(e,i){return e&&!e.radius||(i=Object.assign({radius2:!0},i)),t.prototype.getBondParams.call(this,e,i)},e.prototype.createData=function(t){var e=new $v(t.getAtomData(this.getAtomParams()),this.getBufferParams({sphereDetail:this.sphereDetail,disableImpostor:this.disableImpostor,dullInterior:!0}));return this.__center=new Float32Array(3*t.bondCount),{bufferList:[e,new ix(t.getBondData(this.getBondParams()),this.getBufferParams({shrink:this.shrink,radialSegments:this.radialSegments,dullInterior:!0}))]}},e.prototype.updateData=function(t,e){var i=e.sview.getAtomData(this.getAtomParams()),r=e.sview.getBondData(this.getBondParams()),n={},o={};if(!t||t.position){n.position=i.position;var a=r.position1,s=r.position2;o.position=Mo(a,s,this.__center),o.position1=a,o.position2=s}t&&!t.color||(n.color=i.color,o.color=r.color1,o.color2=r.color2),t&&!t.radius||(n.radius=i.radius,o.radius=r.radius1,o.radius2=r.radius2),e.bufferList[0].setAttributes(n),e.bufferList[1].setAttributes(o)},e}(Qb);df.add(\"hyperball\",rx),zs.prototype={constructor:zs,atomLabel:function(t){var e;switch(this.type){case\"atomname\":e=t.atomname;break;case\"atomindex\":e=\"\"+t.index;break;case\"occupancy\":e=t.occupancy.toFixed(2);break;case\"bfactor\":e=t.bfactor.toFixed(2);break;case\"serial\":e=\"\"+t.serial;break;case\"element\":e=t.element;break;case\"atom\":e=t.atomname+\"|\"+t.index;break;case\"resname\":e=t.resname;break;case\"resno\":e=\"\"+t.resno;break;case\"res\":var i=t.resname.toUpperCase();e=(Mg[i]||i)+t.resno;break;case\"text\":e=this.text[t.index];break;default:e=t.qualifiedName()}return void 0===e?\"\":e}},zs.types={\"\":\"\",atomname:\"atom name\",atomindex:\"atom index\",occupancy:\"occupancy\",bfactor:\"b-factor\",serial:\"serial\",element:\"element\",atom:\"atom name + index\",resname:\"residue name\",resno:\"residue no\",res:\"residue name + no\",text:\"text\",qualified:\"qualified name\"};var nx=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"label\",this.parameters=Object.assign({labelType:{type:\"select\",options:zs.types,rebuild:!0},labelText:{type:\"hidden\",rebuild:!0},fontFamily:{type:\"select\",options:{\"sans-serif\":\"sans-serif\",monospace:\"monospace\",serif:\"serif\"},buffer:!0},fontStyle:{type:\"select\",options:{normal:\"normal\",italic:\"italic\"},buffer:!0},fontWeight:{type:\"select\",options:{normal:\"normal\",bold:\"bold\"},buffer:!0},sdf:{type:\"boolean\",buffer:!0},xOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},yOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},zOffset:{type:\"number\",precision:1,max:20,min:-20,buffer:!0},attachment:{type:\"select\",options:{\"bottom-left\":\"bottom-left\",\"bottom-center\":\"bottom-center\",\"bottom-right\":\"bottom-right\",\"middle-left\":\"middle-left\",\"middle-center\":\"middle-center\",\"middle-right\":\"middle-right\",\"top-left\":\"top-left\",\"top-center\":\"top-center\",\"top-right\":\"top-right\"},rebuild:!0},showBorder:{type:\"boolean\",buffer:!0},borderColor:{type:\"color\",buffer:!0},borderWidth:{type:\"number\",precision:2,max:.3,min:0,buffer:!0},showBackground:{type:\"boolean\",rebuild:!0},backgroundColor:{type:\"color\",buffer:!0},backgroundMargin:{type:\"number\",precision:2,max:2,min:0,rebuild:!0},backgroundOpacity:{type:\"range\",step:.01,max:1,min:0,buffer:!0}},this.parameters,{side:null,flatShaded:null,wireframe:null,linewidth:null,roughness:null,metalness:null,diffuse:null}),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};this.labelType=dn(i.labelType,\"res\"),this.labelText=dn(i.labelText,{}),this.fontFamily=dn(i.fontFamily,\"sans-serif\"),this.fontStyle=dn(i.fontStyle,\"normal\"),this.fontWeight=dn(i.fontWeight,\"bold\"),this.sdf=dn(i.sdf,\"Chrome\"===nf),this.xOffset=dn(i.xOffset,0),this.yOffset=dn(i.yOffset,0),this.zOffset=dn(i.zOffset,.5),this.attachment=dn(i.attachment,\"bottom-left\"),this.showBorder=dn(i.showBorder,!1),this.borderColor=dn(i.borderColor,\"lightgrey\"),this.borderWidth=dn(i.borderWidth,.15),this.showBackground=dn(i.showBackground,!1),this.backgroundColor=dn(i.backgroundColor,\"lightgrey\"),this.backgroundMargin=dn(i.backgroundMargin,.5),this.backgroundOpacity=dn(i.backgroundOpacity,1),t.prototype.init.call(this,i)},e.prototype.createData=function(t){var e={position:!0,color:!0,radius:!0},i=t.getAtomData(this.getAtomParams(e)),r=[],n=new zs(this.labelType,this.labelText);return t.eachAtom(function(t){r.push(n.atomLabel(t))}),{bufferList:[new vy({position:i.position,size:i.radius,color:i.color,text:r},this.getBufferParams({fontFamily:this.fontFamily,fontStyle:this.fontStyle,fontWeight:this.fontWeight,sdf:this.sdf,xOffset:this.xOffset,yOffset:this.yOffset,zOffset:this.zOffset,attachment:this.attachment,showBorder:this.showBorder,borderColor:this.borderColor,borderWidth:this.borderWidth,showBackground:this.showBackground,backgroundColor:this.backgroundColor,backgroundMargin:this.backgroundMargin,backgroundOpacity:this.backgroundOpacity}))]}},e.prototype.updateData=function(t,e){var i=e.sview.getAtomData(this.getAtomParams(t)),r={};t&&!t.position||(r.position=i.position),t&&!t.radius||(r.size=i.radius),t&&!t.color||(r.color=i.color),e.bufferList[0].setAttributes(r)},e}(ky);df.add(\"label\",nx);var ox=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"line\",this.parameters=Object.assign({multipleBond:{type:\"select\",rebuild:!0,options:{off:\"off\",symmetric:\"symmetric\",offset:\"offset\"}},bondSpacing:{type:\"number\",precision:2,max:2,min:.5}},this.parameters,{flatShaded:null,side:null,wireframe:null,roughness:null,metalness:null,diffuse:null}),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};this.multipleBond=dn(i.multipleBond,\"off\"),this.bondSpacing=dn(i.bondSpacing,1),t.prototype.init.call(this,i)},e.prototype.getBondParams=function(e,i){return i=Object.assign({multipleBond:this.multipleBond,bondSpacing:this.bondSpacing,radiusParams:{radius:.1,scale:1}},i),t.prototype.getBondParams.call(this,e,i)},e.prototype.createData=function(t){var e={position:!0,color:!0},i=t.getBondData(this.getBondParams(e));return{bufferList:[new By(i,this.getBufferParams())]}},e.prototype.updateData=function(t,e){var i=e.sview.getBondData(this.getBondParams(t)),r={};t&&!t.position||(r.position1=i.position1,r.position2=i.position2),t&&!t.color||(r.color=i.color,r.color2=i.color2),e.bufferList[0].setAttributes(r)},e.prototype.setParameters=function(e){var i={};return e&&e.bondSpacing&&(i.position=!0),t.prototype.setParameters.call(this,e,i,!1),this},e}(ky);df.add(\"line\",ox),js.__deps=[qa,Xa,Ya,Qo,Us],Vs.__deps=[qa,Ya,Po,Qo,ca,ra,ua,Gs,dn],hf.add(\"molsurf\",function(t,e){var i=t.data.args,r=t.data.params;if(i&&r){var n=new(\"av\"===r.type?Vs:js)(i.coordList,i.radiusList,i.indexList).getSurface(r.type,r.probeRadius,r.scaleFactor,r.cutoff,!0,r.smooth,r.contour),o=[n.position.buffer,n.index.buffer];n.normal&&o.push(n.normal.buffer),n.atomindex&&o.push(n.atomindex.buffer),e({sd:n,p:r},o)}},[js,Vs]);var ax=function(t){this.structure=t};ax.prototype._getAtomData=function(){return this.structure.getAtomData({what:{position:!0,radius:!0,index:!0},radiusParams:{radius:\"vdw\",scale:1}})},ax.prototype._makeSurface=function(t,e){var i=new jg(e.name,\"\",t);return i.info.type=e.type,i.info.probeRadius=e.probeRadius,i.info.scaleFactor=e.scaleFactor,i.info.smooth=e.smooth,i.info.cutoff=e.cutoff,i},ax.prototype.getSurface=function(t){var e=t||{},i=this._getAtomData(),r=i.position,n=i.radius,o=i.index,a=new(\"av\"===e.type?Vs:js)(r,n,o).getSurface(e.type,e.probeRadius,e.scaleFactor,e.cutoff,!0,e.smooth,e.contour);return this._makeSurface(a,e)},ax.prototype.getSurfaceWorker=function(t,e){var i=this,r=Object.assign({},t);if(window.Worker){void 0===this.worker&&(this.worker=new za(\"molsurf\"));var n=this._getAtomData(),o=n.position,a=n.radius,s=n.index,c={args:{coordList:o,radiusList:a,indexList:s},params:r},u=[o.buffer,a.buffer,s.buffer];this.worker.post(c,u,function(t){e(i._makeSurface(t.data.sd,r))},function(t){console.warn(\"MolecularSurface.getSurfaceWorker error - trying without worker\",t),i.worker.terminate(),i.worker=void 0;var n=i.getSurface(r);e(n)})}else{var h=this.getSurface(r);e(h)}},ax.prototype.dispose=function(){this.worker&&this.worker.terminate()};var sx=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"surface\",this.parameters=Object.assign({surfaceType:{type:\"select\",rebuild:!0,options:{vws:\"vws\",sas:\"sas\",ms:\"ms\",ses:\"ses\",av:\"av\"}},probeRadius:{type:\"number\",precision:1,max:20,min:0,rebuild:!0},smooth:{type:\"integer\",precision:1,max:10,min:0,rebuild:!0},scaleFactor:{type:\"number\",precision:1,max:5,min:0,rebuild:!0},cutoff:{type:\"number\",precision:2,max:50,min:0,rebuild:!0},contour:{type:\"boolean\",rebuild:!0},background:{type:\"boolean\",rebuild:!0},opaqueBack:{type:\"boolean\",buffer:!0},filterSele:{type:\"text\",rebuild:!0},colorVolume:{type:\"hidden\"},useWorker:{type:\"boolean\",rebuild:!0}},this.parameters,{radiusType:null,radius:null,scale:null}),this.__infoList=[],this.structure.signals.refreshed.add(function(){this.__forceNewMolsurf=!0},this),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};i.colorScheme=dn(i.colorScheme,\"uniform\"),i.colorValue=dn(i.colorValue,14540253),this.surfaceType=dn(i.surfaceType,\"ms\"),this.probeRadius=dn(i.probeRadius,1.4),this.smooth=dn(i.smooth,2),this.scaleFactor=dn(i.scaleFactor,2),this.cutoff=dn(i.cutoff,0),this.contour=dn(i.contour,!1),this.background=dn(i.background,!1),this.opaqueBack=dn(i.opaqueBack,!0),this.filterSele=dn(i.filterSele,\"\"),this.colorVolume=dn(i.colorVolume,void 0),this.useWorker=dn(i.useWorker,!0),t.prototype.init.call(this,e)},e.prototype.prepareData=function(t,e,i){var r=this.__infoList[e];if(r||(r={},this.__infoList[e]=r),r.molsurf&&r.sele===t.selection.string)i(e);else{if(this.filterSele){var n=t.structure.getView(new Kd(this.filterSele)),o=n.boundingBox.getSize(),a=Math.max(o.x,o.y,o.z),s=t.getAtomSetWithinPoint(n.center,a/2+6);t=t.getView(new Kd(t.getAtomSetWithinSelection(s,3).toSeleString()))}r.sele=t.selection.string,r.molsurf=new ax(t);var c=this.getSurfaceParams(),u=function(t){r.surface=t,i(e)};this.useWorker?r.molsurf.getSurfaceWorker(c,u):u(r.molsurf.getSurface(c))}},e.prototype.prepare=function(t){var e=this;if((this.__forceNewMolsurf||this.__sele!==this.selection.string||this.__surfaceParams!==JSON.stringify(this.getSurfaceParams()))&&(this.__infoList.forEach(function(t){t.molsurf.dispose()}),this.__infoList.length=0),0===this.structureView.atomCount)return void t();var i=function(){this.__sele=this.selection.string,this.__surfaceParams=JSON.stringify(this.getSurfaceParams()),this.__forceNewMolsurf=!1,t()}.bind(this),r=\"default\"===this.assembly?this.defaultAssembly:this.assembly,n=this.structure.biomolDict[r];n?n.partList.forEach(function(t,r){var o=t.getView(e.structureView);e.prepareData(o,r,function(t){t===n.partList.length-1&&i()})}):this.prepareData(this.structureView,0,i)},e.prototype.createData=function(t,e){var i=this.__infoList[e],r=i.surface,n={position:r.getPosition(),color:r.getColor(this.getColorParams()),index:r.getFilteredIndex(this.filterSele,t)},o=[];if(r.contour){var a=new Ty(n,this.getBufferParams({wireframe:!1}));o.push(a)}else{n.normal=r.getNormal(),n.picking=r.getPicking(t.getStructure());var s=new Ay(n,this.getBufferParams({background:this.background,opaqueBack:this.opaqueBack,dullInterior:!1})),c=new My(s);o.push(c)}return{bufferList:o,info:i}},e.prototype.updateData=function(t,e){var i={};if(t.position)return this.__forceNewMolsurf=!0,void this.build();t.color&&(i.color=e.info.surface.getColor(this.getColorParams())),t.index&&(i.index=e.info.surface.getFilteredIndex(this.filterSele,e.sview)),e.bufferList[0].setAttributes(i)},e.prototype.setParameters=function(e,i,r){return i=i||{},e&&e.filterSele&&(i.index=!0),e&&void 0!==e.colorVolume&&(i.color=!0),e&&e.wireframe&&(e.contour||void 0===e.contour&&this.contour)&&(e.wireframe=!1),t.prototype.setParameters.call(this,e,i,r),this},e.prototype.getSurfaceParams=function(t){return Object.assign({type:this.surfaceType,probeRadius:this.probeRadius,scaleFactor:this.scaleFactor,smooth:this.smooth&&!this.contour,cutoff:this.cutoff,contour:this.contour,useWorker:this.useWorker},t)},e.prototype.getColorParams=function(){var e=t.prototype.getColorParams.call(this);return e.volume=this.colorVolume,e},e.prototype.clear=function(){t.prototype.clear.call(this)},e.prototype.dispose=function(){this.__infoList.forEach(function(t){t.molsurf.dispose()}),this.__infoList.length=0,t.prototype.dispose.call(this)},e}(ky);df.add(\"surface\",sx);var cx=function(t){function e(e,i,r){t.call(this,e,i,r),this.type=\"point\",this.parameters=Object.assign({pointSize:{type:\"number\",precision:1,max:100,min:0,buffer:!0},sizeAttenuation:{type:\"boolean\",buffer:!0},sortParticles:{type:\"boolean\",rebuild:!0},useTexture:{type:\"boolean\",buffer:!0},alphaTest:{type:\"range\",step:.001,max:1,min:0,buffer:!0},forceTransparent:{type:\"boolean\",buffer:!0},edgeBleach:{type:\"range\",step:.001,max:1,min:0,buffer:!0}},this.parameters,{flatShaded:null,wireframe:null,linewidth:null,roughness:null,metalness:null}),this.init(r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.init=function(e){var i=e||{};this.pointSize=dn(i.pointSize,1),this.sizeAttenuation=dn(i.sizeAttenuation,!0),this.sortParticles=dn(i.sortParticles,!1),this.useTexture=dn(i.useTexture,!1),this.alphaTest=dn(i.alphaTest,.5),this.forceTransparent=dn(i.forceTransparent,!1),this.edgeBleach=dn(i.edgeBleach,0),t.prototype.init.call(this,i)},e.prototype.createData=function(t){var e={position:!0,color:!0,picking:!0},i=t.getAtomData(this.getAtomParams(e));return{bufferList:[new Cy(i,this.getBufferParams({pointSize:this.pointSize,sizeAttenuation:this.sizeAttenuation,sortParticles:this.sortParticles,useTexture:this.useTexture,alphaTest:this.alphaTest,forceTransparent:this.forceTransparent,edgeBleach:this.edgeBleach}))]}},e.prototype.updateData=function(t,e){var i=e.sview.getAtomData(this.getAtomParams(t)),r={};t&&!t.position||(r.position=i.position),t&&!t.color||(r.color=i.color),e.bufferList[0].setAttributes(r)},e}(ky);df.add(\"point\",cx),mf.add(\"shader/Ribbon.vert\",\"#define STANDARD\\nuniform float nearClip;\\nuniform vec3 clipCenter;\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvarying vec3 vViewPosition;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvarying vec3 vClipCenter;\\n#endif\\nattribute vec3 dir;\\nattribute float size;\\n#ifdef PICKING\\n#include unpack_color\\nattribute float primitiveId;\\nvarying vec3 vPickingColor;\\n#else\\n#include color_pars_vertex\\n#ifndef FLAT_SHADED\\nvarying vec3 vNormal;\\n#endif\\n#endif\\n#include common\\nvoid main(void){\\n#ifdef PICKING\\nvPickingColor = unpackColor( primitiveId );\\n#else\\n#include color_vertex\\n#include beginnormal_vertex\\n#include defaultnormal_vertex\\n#ifndef FLAT_SHADED\\nvNormal = normalize( transformedNormal );\\n#endif\\n#endif\\n#include begin_vertex\\ntransformed += normalize( dir ) * size;\\n#include project_vertex\\n#if defined( NEAR_CLIP ) || defined( RADIUS_CLIP ) || !defined( PICKING )\\nvViewPosition = -mvPosition.xyz;\\n#endif\\n#if defined( RADIUS_CLIP )\\nvClipCenter = -( modelViewMatrix * vec4( clipCenter, 1.0 ) ).xyz;\\n#endif\\n#include nearclip_vertex\\n}\");var ux=new Uint16Array([0,1,2,1,3,2]),hx=function(t){function e(e,i){var r=e||{},n=r.position.length/3-1,o=4*n,a=3*o,s=new Float32Array(a),c=new Float32Array(a),u=new Float32Array(a),h=Cn(a,a/3);t.call(this,{position:s,color:c,index:h,normal:u,picking:r.picking},i),this.addAttributes({dir:{type:\"v3\",value:new Float32Array(a)}}),this.addAttributes({size:{type:\"f\",value:new Float32Array(o)}}),r.primitiveId=Co(n),this.setAttributes(r),this.meshIndex=h,this.makeIndex()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={vertexShader:{}};return e.prototype.setAttributes=function(t){var e,i,r,n,o,a,s,c,u,h,l,p,d=this.size/4,f=this.geometry.attributes;t.position&&(e=t.position,s=f.position.array,f.position.needsUpdate=!0),t.normal&&(i=t.normal,c=f.normal.array,f.normal.needsUpdate=!0),t.size&&(r=t.size,u=f.size.array,f.size.needsUpdate=!0),t.dir&&(n=t.dir,h=f.dir.array,f.dir.needsUpdate=!0),t.color&&(o=t.color,l=f.color.array,f.color.needsUpdate=!0),t.primitiveId&&(a=t.primitiveId,p=f.primitiveId.array,f.primitiveId.needsUpdate=!0);var m,g,v,y,b,x,_,w=r?r[0]:null;for(m=0;m0)continue;var o=void 0,at=void 0,gt=void 0,vt=void 0,yt=void 0;if(z){if(vt=l.split(U),yt=10===vt.length?1:0,x=vt[2],q&&\"CA\"!==x)continue;o=parseFloat(vt[6-yt]),at=parseFloat(vt[7-yt]),gt=parseFloat(vt[8-yt])}else{if(x=l.substr(12,4).trim(),q&&\"CA\"!==x)continue;o=parseFloat(l.substr(30,8)),at=parseFloat(l.substr(38,8)),gt=parseFloat(l.substr(46,8))}if(X){var bt=3*s;if(a[bt+0]=o,a[bt+1]=at,a[bt+2]=gt,s+=1,K)continue}var xt=void 0;z?(d=parseInt(vt[1]),xt=\"\",_=\"H\"===l[0]?1:0,f=yt?\"\":vt[4],m=parseInt(vt[5-yt]),b=\"\",g=vt[3],w=parseFloat(vt[9-yt]),S=\"\",y=0):(d=parseInt(l.substr(6,5),$),V&&99999===d&&($=16),_=\"H\"===l[0]?1:0,f=l[21].trim(),m=parseInt(l.substr(22,4),H)||1,V&&9999===m&&(H=16),b=l[26].trim(),g=l.substr(17,4).trim()||\"MOL\",w=parseFloat(l.substr(60,6)),S=l[16].trim(),y=parseFloat(l.substr(54,6)),i||(xt=l.substr(76,2).trim(),f||(f=l.substr(72,4).trim()))),ht.growIfFull(),ht.atomTypeId[dt]=ut.add(x,xt),ht.x[dt]=o,ht.y[dt]=at,ht.z[dt]=gt,ht.serial[dt]=d,ht.bfactor[dt]=isNaN(w)?0:w,ht.altloc[dt]=S.charCodeAt(0),ht.occupancy[dt]=isNaN(y)?0:y,_?N===f&&B===g&&(Ig.includes(g)||k===m&&F===b)||(O=(R+=1).toString(),k=m,B=g,F=b):D||N===f||(O=(R+=1).toString()),G.addAtom(ft,f,O,g,m,_,void 0,b),J[d]=dt,dt+=1,D=!1,N=f}else if(\"CONECT\"===p){var _t=J[parseInt(l.substr(6,5))],wt=[11,16,21,26],St={};if(void 0===_t)continue;for(var At=0;At<4;++At){var Mt=parseInt(l.substr(wt[At],5));if(!Number.isNaN(Mt)&&void 0!==(Mt=J[Mt]))if(_t0)continue;var ot=rt[c].replace(Ix,\"\");if(T&&\"CA\"!==ot)continue;var at=parseFloat(rt[y]),st=parseFloat(rt[b]),ct=parseFloat(rt[x]);if(P){var ut=3*r;if(i[ut+0]=at,i[ut+1]=st,i[ut+2]=ct,r+=1,X>0)continue}var ht=rt[u],lt=parseInt(rt[s]),pt=rt[v];pt=\"?\"===pt?\"\":pt;var dt=rt[a],ft=rt[h],mt=\"H\"===rt[d][0]?1:0,gt=rt[m],vt=parseFloat(rt[_]),yt=parseFloat(rt[w]),bt=rt[p];if(bt=\".\"===bt?\"\":bt,$.growIfFull(),$.atomTypeId[W]=V.add(ot,gt),$.x[W]=at,$.y[W]=st,$.z[W]=ct,$.serial[W]=parseInt(rt[f]),$.bfactor[W]=isNaN(vt)?0:vt,$.occupancy[W]=isNaN(yt)?0:yt,$.altloc[W]=bt.charCodeAt(0),A.addAtom(X,dt,ft,ht,lt,mt,void 0,pt),t.Debug){var xt=I[ft];void 0!==xt&&xt!==dt&&t.Debug&&cf.warn(xt,dt)}I[ft]=dt;var _t=rt[l];L[_t]||(L[_t]=new Set),L[_t].add(S.chainStore.count-1),W+=1}else{var wt=o.match(Cx),St=wt.length;F===B.length&&(F=0);for(var At=0;At_)continue}d=E.substr(5,5).trim(),f=parseInt(E.substr(0,5)),m=parseInt(E.substr(15,5)),S.growIfFull(),S.atomTypeId[A]=w.add(p),S.x[A]=L,S.y[A]=R,S.z[A]=O,S.serial[A]=m,o.addAtom(M,\"\",\"\",d,f,0,\"l\"),A+=1}}}t.Debug&&cf.time(\"GroParser._parse \"+this.name);var i,r,n=this.structure,o=this.structureBuilder,a=this.firstModelOnly,s=this.asTrajectory,c=this.cAlphaOnly,u=n.frames,h=n.boxes,l=this.streamer.peekLines(3);n.title=l[0].trim();var p,d,f,m,g=5+(l[2].length-l[2].lastIndexOf(\".\")-1),v=20,y=20+g,b=20+2*g,x=parseInt(l[1]),_=x+3,w=n.atomMap,S=n.atomStore;S.resize(x);var A=0,M=0,P=0;this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),o.finalize(),n.finalizeAtoms(),ns(n),os(n),n.finalizeBonds(),av(n),t.Debug&&cf.timeEnd(\"GroParser._parse \"+this.name)},Object.defineProperties(i.prototype,r),i}(wx);ff.add(\"gro\",Ox);var Dx=[\"xCoordList\",\"yCoordList\",\"zCoordList\",\"groupIdList\",\"groupTypeList\",\"chainIdList\",\"bFactorList\",\"atomIdList\",\"altLocList\",\"occupancyList\",\"secStructList\",\"insCodeList\",\"sequenceIndexList\",\"chainNameList\",\"bondAtomList\",\"bondOrderList\"],Nx=[\"mmtfVersion\",\"mmtfProducer\",\"unitCell\",\"spaceGroup\",\"structureId\",\"title\",\"depositionDate\",\"releaseDate\",\"experimentalMethods\",\"resolution\",\"rFree\",\"rWork\",\"bioAssemblyList\",\"ncsOperatorList\",\"entityList\",\"groupList\",\"numBonds\",\"numAtoms\",\"numGroups\",\"numChains\",\"numModels\",\"groupsPerChain\",\"chainsPerModel\"].concat(Dx),kx={0:\"i\".charCodeAt(0),1:\"s\".charCodeAt(0),2:\"h\".charCodeAt(0),3:\"e\".charCodeAt(0),4:\"g\".charCodeAt(0),5:\"b\".charCodeAt(0),6:\"t\".charCodeAt(0),7:\"l\".charCodeAt(0),\"-1\":\"\".charCodeAt(0)},Bx=function(e){function i(){e.apply(this,arguments)}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var r={type:{}};return r.type.get=function(){return\"mmtf\"},i.prototype._parse=function(){t.Debug&&cf.time(\"MmtfParser._parse \"+this.name);var e,i,r,n,o,a=this.structure,s=Ac(wc(this.streamer.data));[\"depositionDate\",\"releaseDate\",\"resolution\",\"rFree\",\"rWork\",\"experimentalMethods\"].forEach(function(t){void 0!==s[t]&&(a.header[t]=s[t])});var c,u,h,l,p,d;if(a.id=s.structureId,a.title=s.title,this.firstModelOnly||this.asTrajectory){for(p=1,h=0,e=0,i=l=s.chainsPerModel[0];e0&&(a.biomolDict.NCS=at)}var ct=s.unitCell;ct&&Array.isArray(ct)&&ct[0]?a.unitcell=new Mx({a:ct[0],b:ct[1],c:ct[2],alpha:ct[3],beta:ct[4],gamma:ct[5],spacegroup:s.spaceGroup}):a.unitcell=void 0,us(a,!0),cs(a,!0),a.finalizeAtoms(),a.finalizeBonds(),hs(a),t.Debug&&cf.timeEnd(\"MmtfParser._parse \"+this.name)},Object.defineProperties(i.prototype,r),i}(wx);ff.add(\"mmtf\",Bx);var Fx=/\\s+/,zx=function(e){function i(){e.apply(this,arguments)}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var r={type:{}};return r.type.get=function(){return\"mol2\"},i.prototype._parse=function(){function e(t,e,A){for(var M,P=t;PMOLECULE\"===T?(v=y,d=0,++m):\"@ATOM\"===T?(v=b,f=l.count,s&&(r=0,i=new Float32Array(3*g),c.push(i),m>0&&(u=!0))):v=\"@BOND\"===T?x:0;else if(v===y)0===d?(n.title=T,n.id=T):1===d&&(M=T.split(Fx),g=parseInt(M[0])),++d;else if(v===b){if(M=T.split(Fx),a&&m>0)continue;var E=parseFloat(M[2]),C=parseFloat(M[3]),I=parseFloat(M[4]);if(s){var L=3*r;if(i[L+0]=E,i[L+1]=C,i[L+2]=I,r+=1,u)continue}var R=M[0],O=M[1],D=M[5].split(\".\")[0],N=M[6]?parseInt(M[6]):1,k=M[7]?M[7]:\"\",B=M[8]?parseFloat(M[8]):0;l.growIfFull(),l.atomTypeId[p]=h.add(O,D),l.x[p]=E,l.y[p]=C,l.z[p]=I,l.serial[p]=R,l.bfactor[p]=B,o.addAtom(m,\"\",\"\",k,N,1),p+=1}else if(v===x){if(a&&m>0)continue;if(s&&m>0)continue;M=T.split(Fx),_.index=parseInt(M[1])-1+f,w.index=parseInt(M[2])-1+f;var F=S[M[3]];n.bondStore.addBond(_,w,F)}}}t.Debug&&cf.time(\"Mol2Parser._parse \"+this.name);var i,r,n=this.structure,o=this.structureBuilder,a=this.firstModelOnly,s=this.asTrajectory,c=n.frames,u=!1,h=n.atomMap,l=n.atomStore;l.resize(Math.round(this.streamer.data.length/60));var p=0,d=0,f=0,m=-1,g=0,v=0,y=1,b=2,x=3,_=n.getAtomProxy(),w=n.getAtomProxy(),S={1:1,2:2,3:3,am:1,ar:1,du:1,un:1,nc:0};this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),o.finalize(),n.finalizeAtoms(),ns(n),cs(n,!0),us(n,!0),n.finalizeBonds(),ps(n),av(n),t.Debug&&cf.timeEnd(\"Mol2Parser._parse \"+this.name)},Object.defineProperties(i.prototype,r),i}(wx);ff.add(\"mol2\",zx);var Ux=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"pqr\"},Object.defineProperties(e.prototype,i),e}(Tx);ff.add(\"pqr\",Ux);var jx=1,Gx=2,Vx=3,$x=4,Hx=5,Wx=6,Xx=/\\s+/,qx=/(^\\*|REMARK)*/,Yx=function(e){function i(){e.apply(this,arguments)}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var r={type:{}};return r.type.get=function(){return\"psf\"},i.prototype._parse=function(){function e(t,e,a){for(var d=t;d <(.+)>/,Kx=function(e){function i(){e.apply(this,arguments)}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var r={type:{}};return r.type.get=function(){return\"sdf\"},i.prototype._parse=function(){function e(t,e,a){for(var C=t;C0&&(h=!0));else if(v>=M&&v0)continue;var L=parseFloat(I.substr(0,10)),R=parseFloat(I.substr(10,10)),O=parseFloat(I.substr(20,10));if(o){var D=3*c;if(s[D+0]=L,s[D+1]=R,s[D+2]=O,c+=1,h)continue}var N=I.substr(31,3).trim(),k=N+(g+1);p.growIfFull(),p.atomTypeId[g]=l.add(k,N),p.x[g]=L,p.y[g]=R,p.z[g]=O,p.serial[g]=g,r.addAtom(y,\"\",\"\",\"HET\",1,1),g+=1}else if(v>=T&&v0)continue;if(o&&y>0)continue;f.index=parseInt(I.substr(0,3))-1+b,m.index=parseInt(I.substr(3,3))-1+b;var B=parseInt(I.substr(6,3));i.bondStore.addBond(f,m,B)}else(d=I.match(Zx))?(_=d[1],w[_]=[]):!1!==_&&I&&w[_].push(I);++v}}t.Debug&&cf.time(\"SdfParser._parse \"+this.name);var i=this.structure,r=this.structureBuilder,n=this.firstModelOnly,o=this.asTrajectory,a=this.streamer.peekLines(2);i.id=a[0].trim(),i.title=a[1].trim();var s,c,u=i.frames,h=!1,l=i.atomMap,p=i.atomStore;p.resize(Math.round(this.streamer.data.length/50));var d,f=i.getAtomProxy(),m=i.getAtomProxy(),g=0,v=0,y=0,b=0,x=[],_=!1,w={};i.extraData.sdf=x;var S,A,M,P,T,E;this.streamer.eachChunkOfLines(function(t){e(0,t.length,t)}),r.finalize(),i.finalizeAtoms(),i.finalizeBonds(),ps(i),t.Debug&&cf.timeEnd(\"SdfParser._parse \"+this.name)},i.prototype._postProcess=function(){ps(this.structure)},Object.defineProperties(i.prototype,r),i}(wx);ff.add(\"sdf\",Kx),ff.add(\"sd\",Kx);var Qx=function(t,e){this.name=t,this.path=e,this.coordinates=[],this.boxes=[]},Jx={type:{}};Jx.type.get=function(){return\"Frames\"},Object.defineProperties(Qx.prototype,Jx);var t_=function(e){function i(){e.apply(this,arguments)}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var r={type:{}};return r.type.get=function(){return\"dcd\"},i.prototype._parse=function(){t.Debug&&cf.time(\"DcdParser._parse \"+this.name);var e=this.streamer.data;e instanceof Uint8Array&&(e=e.buffer);var i,r,n=new DataView(e),o=this.frames,a=o.coordinates,s=o.boxes,c={},u=0,h=new Int32Array(e,0,23),l=h[0]!==n.getInt32(0);if(84!==h[0])for(r=e.byteLength,i=0;i0)return void cf.error(\"dcd format with fixed atoms unsupported, aborting\");var v=c.NATOM,y=4*v;for(i=0,r=c.NSET;i=o.atomCount+6+l)for(var s=0,p=(n=n.split(a)).length;s0?0:1;this.streamer.eachChunkOfLines(function(t){i(0,t.length,t)}),r.header=o,r.setData(c,o.NVZ,o.NVY,o.NVX),t.Debug&&cf.timeEnd(\"CubeParser._parse \"+this.name)},i.prototype.getMatrix=function(){var t=this.volume.header,e=new v;return e.multiply((new v).makeTranslation(t.originX,t.originY,t.originZ)),e.multiply((new v).makeBasis(t.basisZ,t.basisY,t.basisX)),e},Object.defineProperties(i.prototype,r),i}(e_);ff.add(\"cub\",i_),ff.add(\"cube\",i_);var r_=function(e){function i(){e.apply(this,arguments)}e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i;var r={type:{}};return r.type.get=function(){return\"dsn6\"},i.prototype._parse=function(){t.Debug&&cf.time(\"Dsn6Parser._parse \"+this.name);var e=this.streamer.data;e instanceof Uint8Array&&(e=e.buffer);var i,r,n=this.volume,o={},a=new Int16Array(e),s=new Uint8Array(e),c=String.fromCharCode.apply(null,s.subarray(0,512));if(c.startsWith(\":-)\"))o.xStart=parseInt(c.substr(10,5)),o.yStart=parseInt(c.substr(15,5)),o.zStart=parseInt(c.substr(20,5)),o.xExtent=parseInt(c.substr(32,5)),o.yExtent=parseInt(c.substr(38,5)),o.zExtent=parseInt(c.substr(42,5)),o.xRate=parseInt(c.substr(52,5)),o.yRate=parseInt(c.substr(58,5)),o.zRate=parseInt(c.substr(62,5)),o.xlen=parseFloat(c.substr(73,10))*this.voxelSize,o.ylen=parseFloat(c.substr(83,10))*this.voxelSize,o.zlen=parseFloat(c.substr(93,10))*this.voxelSize,o.alpha=parseFloat(c.substr(103,10)),o.beta=parseFloat(c.substr(113,10)),o.gamma=parseFloat(c.substr(123,10)),i=parseFloat(c.substr(138,12))/100,r=parseInt(c.substr(155,8));else{if(100!==a[18])for(var u=0,h=a.length;u>8&255}o.xStart=a[0],o.yStart=a[1],o.zStart=a[2],o.xExtent=a[3],o.yExtent=a[4],o.zExtent=a[5],o.xRate=a[6],o.yRate=a[7],o.zRate=a[8];var p=1/a[17],d=p*this.voxelSize;o.xlen=a[9]*d,o.ylen=a[10]*d,o.zlen=a[11]*d,o.alpha=a[12]*p,o.beta=a[13]*p,o.gamma=a[14]*p,i=a[15]/100,r=a[16]}n.header=o,cf.log(o,i,r);for(var f=new Float32Array(o.xExtent*o.yExtent*o.zExtent),m=512,g=Math.ceil(o.xExtent/8),v=Math.ceil(o.yExtent/8),y=Math.ceil(o.zExtent/8),b=0;ba){var n=i[r].trim();if(\"\"!==n)for(var o=n.split(s),p=0,d=o.length;p=c&&(v-c)%y!=0&&g=0?i-1:i+e/3)},parseNormalIndex:function(t,e){var i=parseInt(t,10);return 3*(i>=0?i-1:i+e/3)},addVertex:function(t,e,i){var r=this.vertices,n=this.object.geometry.vertices;n.push(r[t+0]),n.push(r[t+1]),n.push(r[t+2]),n.push(r[e+0]),n.push(r[e+1]),n.push(r[e+2]),n.push(r[i+0]),n.push(r[i+1]),n.push(r[i+2])},addVertexLine:function(t){var e=this.vertices,i=this.object.geometry.vertices;i.push(e[t+0]),i.push(e[t+1]),i.push(e[t+2])},addNormal:function(t,e,i){var r=this.normals,n=this.object.geometry.normals;n.push(r[t+0]),n.push(r[t+1]),n.push(r[t+2]),n.push(r[e+0]),n.push(r[e+1]),n.push(r[e+2]),n.push(r[i+0]),n.push(r[i+1]),n.push(r[i+2])},addFace:function(t,e,i,r,n,o,a,s){var c,u=this.vertices.length,h=this.parseVertexIndex(t,u),l=this.parseVertexIndex(e,u),p=this.parseVertexIndex(i,u);if(void 0===r?this.addVertex(h,l,p):(c=this.parseVertexIndex(r,u),this.addVertex(h,l,c),this.addVertex(l,p,c)),void 0!==n){var d=this.normals.length;h=this.parseNormalIndex(n,d),l=n===o?h:this.parseNormalIndex(o,d),p=n===a?h:this.parseNormalIndex(a,d),void 0===r?this.addNormal(h,l,p):(c=this.parseNormalIndex(s,d),this.addNormal(h,l,c),this.addNormal(l,p,c))}},addLineGeometry:function(t){var e=this;this.object.geometry.type=\"Line\";for(var i=this.vertices.length,r=0,n=t.length;r0?x.addAttribute(\"normal\",new _t(new Float32Array(b.normals),3)):x.computeVertexNormals(),y.push(x)}}return y}};var u_=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{}};return i.type.get=function(){return\"obj\"},e.prototype.getLoader=function(){return new Mc},Object.defineProperties(e.prototype,i),e}(c_);ff.add(\"obj\",u_),Pc.prototype={constructor:Pc,setPropertyNameMapping:function(t){this.propertyNameMapping=t},bin2str:function(t){for(var e=new Uint8Array(t),i=\"\",r=0;r=n.elements[s].count&&(s++,c=0);var l=i.parseASCIIElement(n.elements[s].properties,h);i.handleElement(r,n.elements[s].name,l),c++}}return this.postProcess(r)},postProcess:function(t){if(t.useColor){for(var e=0;e0&&(a[C]=I)}else{var L=T.getElementsByTagName(\"clash\"),R=T.getElementsByTagName(\"mog-bond-outlier\"),O=T.getElementsByTagName(\"mog-angle-outlier\");if(R.length>0||O.length>0||L.length>0){var D={};s[C]=D;for(var N=0,k=L.length;N>>1:t>>>1;e[i]=t}return e}(),M_=30,P_=12,T_=15,E_=852,C_=592,I_=0,L_=1,R_=2,O_=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],D_=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],N_=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],k_=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],B_=0,F_=1,z_=2,U_=4,j_=5,G_=6,V_=0,$_=1,H_=2,W_=-2,X_=-3,q_=-4,Y_=-5,Z_=8,K_=1,Q_=2,J_=3,tw=4,ew=5,iw=6,rw=7,nw=8,ow=9,aw=10,sw=11,cw=12,uw=13,hw=14,lw=15,pw=16,dw=17,fw=18,mw=19,gw=20,vw=21,yw=22,bw=23,xw=24,_w=25,ww=26,Sw=27,Aw=28,Mw=29,Pw=30,Tw=31,Ew=32,Cw=852,Iw=592,Lw=!0,Rw=!0,Ow=!0;try{String.fromCharCode.apply(null,[0])}catch(t){Rw=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Ow=!1}for(var Dw=new Uint8Array(256),Nw=0;Nw<256;Nw++)Dw[Nw]=Nw>=252?6:Nw>=248?5:Nw>=240?4:Nw>=224?3:Nw>=192?2:1;Dw[254]=Dw[254]=1;var kw=0,Bw={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"},Fw=Object.prototype.toString;su.prototype.push=function(t,e){var i,r,n,o,a,s,c=this,u=this.strm,h=this.options.chunkSize,l=this.options.dictionary,p=!1;if(this.ended)return!1;r=e===~~e?e:!0===e?4:0,\"string\"==typeof t?u.input=iu(t):\"[object ArrayBuffer]\"===Fw.call(t)?u.input=new Uint8Array(t):u.input=t,u.next_in=0,u.avail_in=u.input.length;do{if(0===u.avail_out&&(u.output=new Uint8Array(h),u.next_out=0,u.avail_out=h),2===(i=Zc(u,0))&&l&&(s=\"string\"==typeof l?tu(l):\"[object ArrayBuffer]\"===Fw.call(l)?new Uint8Array(l):l,i=Jc(c.strm,s)),-5===i&&!0===p&&(i=kw,p=!1),1!==i&&i!==kw)return c.onEnd(i),c.ended=!0,!1;u.next_out&&(0!==u.avail_out&&1!==i&&(0!==u.avail_in||4!==r&&2!==r)||(\"string\"===c.options.to?(n=nu(u.output,u.next_out),o=u.next_out-n,a=ru(u.output,n),u.next_out=o,u.avail_out=h-o,o&&kc(u.output,u.output,n,o,0),c.onData(a)):c.onData(Nc(u.output,u.next_out)))),0===u.avail_in&&0===u.avail_out&&(p=!0)}while((u.avail_in>0||0===u.avail_out)&&1!==i);return 1===i&&(r=4),4===r?(i=Kc(this.strm),this.onEnd(i),this.ended=!0,i===kw):2!==r||(this.onEnd(kw),u.avail_out=0,!0)},su.prototype.onData=function(t){this.chunks.push(t)},su.prototype.onEnd=function(t){t===kw&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=Bc(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},gf.add(\"gz\",uu);var zw=\"//files.rcsb.org/download/\",Uw=\"//mmtf.rcsb.org/v1.0/full/\",jw=\"//mmtf.rcsb.org/v1.0/reduced/\";pf.add(\"rcsb\",new hu);var Gw=\"//pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/\",Vw=\"/SDF?record_type=3d\";pf.add(\"pubchem\",new lu),pf.add(\"ftp\",new pu),pf.add(\"http\",new pu),pf.add(\"https\",new pu);var $w=/^((http|https|ftp):)*\\/\\//;\"undefined\"==typeof window||window.Promise||(window.Promise=r),t.Version=\"0.10.3\",t.setDebug=uo,t.DatasourceRegistry=pf,t.StaticDatasource=du,t.ParserRegistry=ff,t.autoLoad=mo,t.RepresentationRegistry=df,t.ColormakerRegistry=lf,t.Colormaker=Dd,t.Selection=Kd,t.PdbWriter=bo,t.Stage=Yy,t.Collection=Hy,t.ComponentCollection=Wy,t.RepresentationCollection=Xy,t.Assembly=iv,t.TrajectoryPlayer=Ev,t.superpose=Is,t.guessElement=ls,t.Queue=ms,t.Counter=Cf,t.throttle=bn,t.download=vn,t.getQuery=pn,t.getDataInfo=fo,t.getFileInfo=yn,t.uniqueArray=Mn,t.BufferRepresentation=Sy,t.SphereBuffer=$v,t.EllipsoidBuffer=Zv,t.CylinderBuffer=oy,t.ConeBuffer=ly,t.ArrowBuffer=dy,t.TextBuffer=vy,t.Shape=xy,t.Kdtree=ts,t.SpatialHash=Fa,t.MolecularSurface=ax,t.LeftMouseButton=1,t.MiddleMouseButton=2,t.RightMouseButton=3,t.MouseActions=Em,t.Signal=io,t.Matrix3=ut,t.Matrix4=v,t.Vector2=l,t.Vector3=g,t.Box3=st,t.Quaternion=m,t.Euler=ft,t.Plane=ht,t.Color=tt,Object.defineProperty(t,\"__esModule\",{value:!0})});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ngl/dist/ngl.js\n// module id = 3\n// module chunks = 0","var apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/timers-browserify/main.js\n// module id = 4\n// module chunks = 0","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a